Flow PHP

DSL

Functions

psr3_telemetry_logger()

Create a TelemetryLogger that exposes a PSR-3 LoggerInterface backed by a Flow Telemetry Logger.

psr3_telemetry_logger(Logger $logger[, LogRecordConverter $converter = new LogRecordConverter() ]) : TelemetryLogger
Parameters
$logger : Logger

Flow Telemetry logger to forward log records to

$converter : LogRecordConverter = new LogRecordConverter()

Converter from PSR-3 calls to Telemetry LogRecords

Example:

use function Flow\Bridge\Psr3\Telemetry\DSL\psr3_telemetry_logger;

$psrLogger = psr3_telemetry_logger($telemetry->logger('my-service'));
$psrLogger->info('User {user_id} logged in', ['user_id' => 123]);
Return values
TelemetryLogger

psr3_severity_mapper()

Create a SeverityMapper for mapping PSR-3 LogLevel strings to Telemetry Severity.

psr3_severity_mapper([null|array<string, Severity$customMapping = null ]) : SeverityMapper
Parameters
$customMapping : null|array<string, Severity> = null

Optional override (PSR-3 LogLevel string => Severity)

Example with custom mapping:

use Psr\Log\LogLevel;
use Flow\Telemetry\Logger\Severity;

$mapper = psr3_severity_mapper([
    LogLevel::DEBUG     => Severity::TRACE,
    LogLevel::INFO      => Severity::INFO,
    LogLevel::NOTICE    => Severity::WARN,
    LogLevel::WARNING   => Severity::WARN,
    LogLevel::ERROR     => Severity::ERROR,
    LogLevel::CRITICAL  => Severity::FATAL,
    LogLevel::ALERT     => Severity::FATAL,
    LogLevel::EMERGENCY => Severity::FATAL,
]);
Return values
SeverityMapper

psr3_log_record_converter()

Create a LogRecordConverter that turns PSR-3 calls into Telemetry LogRecords.

psr3_log_record_converter([SeverityMapper|null $severityMapper = null ][, ValueNormalizer|null $valueNormalizer = null ]) : LogRecordConverter

The converter:

  • Maps the PSR-3 level to a Severity via the provided mapper.
  • Substitutes {placeholder} tokens in the message body using context entries (scalars and Stringable objects only).
  • Stores every context entry as an attribute under its raw key.
  • Routes a Throwable under the exception key through setException().
Parameters
$severityMapper : SeverityMapper|null = null
$valueNormalizer : ValueNormalizer|null = null
Return values
LogRecordConverter

        
On this page

Search results