piotrpress / logger
This library is compatible with PSR-3 file logger implementation.
Requires
- php: >=7.4
- piotrpress/templater: ^1.2.0
- psr/log: ^1.1.4
This package is auto-updated.
Last update: 2024-10-15 20:28:52 UTC
README
This library is compatible with PSR-3 file logger implementation.
Installation
composer require piotrpress/logger
Example
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
Logger take any number of handlers implementing HandlerInterface as constructor arguments.
Handlers
- ErrorLogHandler - send logs to PHP error log.
- FileHandler - send logs to file.
NOTE: Both handlers support optional FormatterInterface parameter.
Formatters
- ErrorLogFormatter - formats LogRecord using error_log template.
- FileFormatter - formats LogRecord using file template.
NOTE: Both formatters support optional path to template
parameter.
Levels
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.
Context
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.
Requirements
Supports PHP >= 7.4
version.