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);
 | 
						|
    }
 | 
						|
}
 |