diff options
Diffstat (limited to 'vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php')
-rw-r--r-- | vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php new file mode 100644 index 000000000..4cfd6f9d4 --- /dev/null +++ b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php @@ -0,0 +1,37 @@ +<?php + +declare(strict_types=1); + +namespace OpenTelemetry\API\Behavior\Internal\LogWriter; + +class Formatter +{ + public static function format($level, string $message, array $context): string + { + $exception = (array_key_exists('exception', $context) && $context['exception'] instanceof \Throwable) + ? $context['exception'] + : null; + if ($exception) { + $message = sprintf( + 'OpenTelemetry: [%s] %s [exception] %s%s%s', + $level, + $message, + $exception->getMessage(), + PHP_EOL, + $exception->getTraceAsString() + ); + } else { + //get calling location, skipping over trait, formatter etc + $caller = debug_backtrace()[3]; + $message = sprintf( + 'OpenTelemetry: [%s] %s in %s(%s)', + $level, + $message, + $caller['file'], + $caller['line'], + ); + } + + return $message; + } +} |