Download the PHP package avto-dev/events-log-laravel without Composer
On this page you can find all versions of the php package avto-dev/events-log-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package events-log-laravel
Events logging for Laravel
This package provides logging for Laravel events (events must implements special interface).
Install
Require this package with composer using the following command:
Installed
composer
is required (how to install composer).You need to fix the major version of package.
Setup
После установки пакета вам необходимо произвести его настройку. Минимальной конфигурацией является добавление в ваш файл ./config/logging.php
значения:
Где stack
- это имя одного из каналов, перечисленного в секции channels
этого же файла. Без указания данной опции логгирование будет производиться с использованием канала по умолчанию.
Переопределить данную опцию вы сможете добавив в
.env
файл вашего приложения строкуEVENTS_LOG_CHANNEL=%channel_name%
.
Например, если вам необходимо производить логгирование событий в отдельный файл в формате Monolog
и дополнительно вести запись в другой файл в формате Logstash
, то конфигурация может иметь следующий вид:
Для отправки логов в формате Logstash
по UDP протоколу:
Более подробно о настройке логгирования вы можете прочитать по этой ссылке.
Использование
Данный пакет работает следующий образом:
- Сервис-провайдер данного пакета регистрирует свой "слушатель" на все события, что происходят в приложении;
- При получении события он проверяет реализацию класса события интерфейса
ShouldBeLoggedContract
; - Если предыдущее условие выполняется - то используя указанный в файле
logging.php
канал логгирования производится запись данных которые возвращают методы, описанные в интерфейсеShouldBeLoggedContract
.
Пример класса логгируемого события:
Теперь достаточно в произвольном месте вашего приложения вызвать:
И быть уверенным в том, что данное событие будет записано в лог-файл. О том, как работают события (events) в Laravel вы можете прочитать по этой ссылке.
Условия логирования
В некоторых случаях необходимо добавить условия логгирования события. Для этого вы можете использовать в классе события метод skipLogging
:
Дополнительные логгеры
Вместе с данным пакетом вам доступны следующие пред-настроенные логгеры AvtoDev\EventsLogLaravel\Logging\...
:
Класс логгера | Назначение |
---|---|
DefaultLogstashLogger |
Пишет лог-записи в формате logstash в файл, не видоизменяя тело записи (поле context не изменяется) |
EventsLogstashLogger |
Пишет лог-записи в формате logstash в файл, но данные связанные с событиями помещаются в секцию event |
DefaultUdpLogstashLogger |
Отправляет лог-записи в формате logstash по UDP протоколу, не видоизменяя тело записи (поле context не изменяется) |
EventsUdpLogstashLogger |
Пишет лог-записи в формате logstash по UDP протоколу, но данные связанные с событиями помещаются в секцию event |
Более подробно о них смотрите исходный код
Testing
For package testing we use phpunit
framework and docker-ce
+ docker-compose
as develop environment. So, just write into your terminal after repository cloning:
Changes log
Changes log can be found here.
Support
If you will find any package errors, please, make an issue in current repository.
License
This is open-sourced software licensed under the MIT License.
All versions of events-log-laravel with dependencies
psr/log Version ^3.0
monolog/monolog Version ^3.0
illuminate/log Version ^10.0 || ^11.0
illuminate/config Version ^10.0 || ^11.0
illuminate/events Version ^10.0 || ^11.0
illuminate/contracts Version ^10.0 || ^11.0