TelemetryHandler extends AbstractProcessingHandler
FinalYes
Monolog handler that forwards log records to Flow Telemetry.
This handler allows using Monolog as the logging interface while leveraging Telemetry's export capabilities (console, OTLP, etc.).
Monolog context and extra data are converted to Telemetry attributes with appropriate prefixes (context., extra.). Throwables in context are handled specially via Telemetry's setException() method.
Example usage:
use Monolog\Logger as MonologLogger;
use function Flow\Bridge\Monolog\Telemetry\DSL\telemetry_handler;
$telemetryLogger = $telemetry->logger('my-app');
$monolog = new MonologLogger('channel');
$monolog->pushHandler(telemetry_handler($telemetryLogger));
$monolog->info('User logged in', ['user_id' => 123]);
Methods
- __construct() : mixed
Methods
__construct()
public
__construct(Logger $logger[, LogRecordConverter $converter = new LogRecordConverter() ][, Level $level = Level::Debug ][, bool $bubble = true ]) : mixed
Parameters
- $logger : Logger
-
The Flow Telemetry logger to forward logs to
- $converter : LogRecordConverter = new LogRecordConverter()
-
Converter to transform Monolog LogRecord to Telemetry LogRecord
- $level : Level = Level::Debug
-
The minimum logging level at which this handler will be triggered
- $bubble : bool = true
-
Whether messages handled by this handler should bubble up to other handlers