A PSR-3 logger component for bytic applications, built on top of Monolog.
Requires PHP 8.3+
composer require bytic/loggerRegister the LoggerServiceProvider in your application bootstrap:
$container->addServiceProvider(new \Nip\Logger\LoggerServiceProvider());The provider registers log and Psr\Log\LoggerInterface into the container.
PHP native errors (warnings, notices, deprecations) are converted to PSR-3 log
entries by the bytic/debug ErrorHandler. Version 2.x uses
\Nip\Logger\ErrorHandler\PhpErrorLevelMapper to map each E_* constant to
the appropriate PSR-3 level:
| PHP Error Type | PSR-3 Level |
|---|---|
E_WARNING |
warning |
E_USER_WARNING |
warning |
E_CORE_WARNING |
warning |
E_COMPILE_WARNING |
warning |
E_NOTICE |
notice |
E_USER_NOTICE |
notice |
E_DEPRECATED |
info |
E_USER_DEPRECATED |
info |
E_ERROR |
error |
E_USER_ERROR |
error |
E_RECOVERABLE_ERROR |
error |
E_PARSE |
critical |
E_CORE_ERROR |
critical |
E_COMPILE_ERROR |
critical |
E_STRICT |
debug |
This replaces the previous behaviour where warnings and notices were incorrectly logged at ERROR level.
When upgrading from 1.x:
Logger::getFormatter()andLogger::format()have been removed. Message formatting is now handled exclusively by Monolog'sLineFormatter.- Inject
Psr\Log\LoggerInterfacevia constructor injection instead of$container->get('log')where possible.