34 lines
893 B
PHP
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);
|
|
}
|
|
}
|