PSR-3 Logger Integration
Use PsrLoggerErrorReporter
when your application already centralizes
operational visibility in a PSR-3 logger.
use FastForward\Defer\Defer;
use FastForward\Defer\ErrorReporter\PsrLoggerErrorReporter;
Defer::setErrorReporter(new PsrLoggerErrorReporter($logger));
The reporter writes one error()
entry with structured context. The context
contains:
exception_classmessagefilelinecallbackcallback_argumentsexception
Example with Monolog
use FastForward\Defer\Defer;
$logger = new Monolog\Logger('defer');
Defer::setErrorReporter(new PsrLoggerErrorReporter($logger));
Operational note
PsrLoggerErrorReporter
delegates directly to your logger. If the logger
throws, that exception can interrupt the remaining cleanup chain. In production,
prefer loggers and handlers that do not throw during error reporting.