symfony_example_app/src/Bridge/Monolog/Handler/SymfonyOtelHandler.php
Ondrej Vlach 192cfb9b73
feat: add support for OTEL logs
feat: add support for OTEL logs
2024-01-18 18:59:31 +01:00

34 lines
893 B
PHP

<?php
namespace App\Bridge\Monolog\Handler;
use Monolog\Formatter\FormatterInterface;
use Monolog\Formatter\JsonFormatter;
use Monolog\Handler\AbstractHandler;
use Monolog\Handler\FormattableHandlerTrait;
use Monolog\LogRecord;
use OpenTelemetry\API\Globals;
use OpenTelemetry\Contrib\Logs\Monolog\Handler;
use Psr\Log\LogLevel;
use Symfony\Bridge\Monolog\Formatter\VarDumperFormatter;
final class SymfonyOtelHandler extends AbstractHandler
{
protected readonly Handler $innerHandler;
public function __construct() {
parent::__construct();
$this->innerHandler = new Handler(
Globals::loggerProvider(),
LogLevel::INFO, //or `Logger::INFO`, or `Level::Info` depending on monolog version
true,
);
}
public function handle(LogRecord $record): bool
{
return $this->innerHandler->handle($record);
}
}