Компонент Logger Monolog
Адаптер для micro/plugin-logger-core, который предоставляет возможность использования Monolog
Установка
Для установки библиотеки воспользуйтесь composer
$ composer require micro/plugin-logger-monolog
И добавьте в список плагинов. По умолчанию {PROJECT ROOT DIR}/etc/plugins.php
Принцип работы.
Логер - это объект, имплементирующий интерфейс логера формата PSR-3. Хендлер - это объект, который пишет сообщения логера в какой-либо источник.
Логер может иметь множество хендлеров. Например, если логи нужно одновременно складировать в файловую систему и отправлять на сторонний ресурс, например, Graylog, Datadog, Amqp и т.д.
На сегодняшний день реализован только StreamHandler.
Конфигурация
LOGGER_LIST
- Список логеров через запятую. По умолчаниюdefault
LOGGER_HANDLER_LIST
- Список хендлеров.LOGGER_{loggern name}_HANDLERS
- список хендлеров для конкретного логера.LOGGER_HANDLER_{handler name}_TYPE
- тип хендлера. На текущий момент доступен толькоstream
.LOGGER_{logger name}_LOG_LEVEL
- Уровень логов.LOGGER_{logger name}_PROVIDER_TYPE
- Провайдер логов. Данный плагин - это провайдер имеет названиемmonolog
.
Handler Stream
LOGGER_HANDLER_{handler name}_FILE
- путь до файла сLOGGER_HANDLER_{handler name}_USE_LOCKING
Пример использования.
Пример конфигурации
LOGGER_LIST=example
LOGGER_HANDLER_LIST=local
LOGGER_HANDLER_LOCAL_TYPE=stream
LOGGER_HANDLER_LOCAL_FILE=/var/log/example.log
LOGGER_EXAMPLE_HANDLERS=local
LOGGER_EXAMPLE_LOG_LEVEL=debug
LOGGER_EXAMPLE_PROVIDER_TYPE=monolog
Пример использования
$loggerFacade = $container->get(Micro\Plugin\Logger\Facade\LoggerFacadeInterface::class);
$logger = $loggerFacade->getLogger('example');
$logger->info('Log message');