feat: add support for OTEL logs
feat: add support for OTEL logs
This commit is contained in:
33
src/Bridge/Monolog/Handler/SymfonyOtelHandler.php
Normal file
33
src/Bridge/Monolog/Handler/SymfonyOtelHandler.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user