This library is compatible with PSR-3 file logger implementation.
composer require piotrpress/logger
require __DIR__ . '/vendor/autoload.php';
use PiotrPress\Logger;
use PiotrPress\Logger\FileHandler;
use PiotrPress\Logger\ErrorLogHandler;
$logger = new Logger(
new FileHandler( __DIR__ . '/' . date( 'Y-m-d' ) . '.log' ),
new ErrorLogHandler()
);
$logger->error( '[{module}] Example error', [ 'module' => 'Core' ] );
Saves: [error] [Core] Example error
to file: {Y-m-d}.log
and sends to PHP error log.
Logger take any number of handlers implementing HandlerInterface as constructor arguments.
- ErrorLogHandler - send logs to PHP error log.
- FileHandler - send logs to file.
NOTE: Both handlers support optional FormatterInterface parameter.
- ErrorLogFormatter - formats LogRecord using error_log template.
- FileFormatter - formats LogRecord using file template.
NOTE: Both formatters support optional path to template
parameter.
Logger supports eight log methods to write logs to the eight RFC 5424 levels (debug
, info
, notice
, warning
, error
, critical
, alert
, emergency
) and a ninth method log
, which accepts a log level as the first argument.
All Logger log methods supports optional context
array parameter.
All additional context
array values, evaluated to string, can be used in message
via corresponding keys put between a single opening brace {
and a single closing brace }
according to PSR-3 guidelines.
Context values can be also used in templates
files as regular PHP variables.
Supports PHP >= 7.4
version.