Download the PHP package feugene/events-log-laravel without Composer
On this page you can find all versions of the php package feugene/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).
Requirements
- PHP >=8.0
- Laravel >= 8.75
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
After an installation you should setup it. Minimal config is following changing in you ./config/logging.php
file:
Where stack
- is a channel name, listed in the channels
section of the same file. Without specifying this option,
logging will be performed using the default channel.
You can override this option by adding to
.env
file the line:EVENTS_LOG_CHANNEL=%channel_name%
.
For instance, if you need to log events in a different file in the Monolog
format and additionally record to another
file in the Logstash
format, then the configuration may look like this:
To send logs in the Logstash
format over UPD:
You can read more about Laravel Logging at source.
Using
This package works as follows:
- The ServiceProvider of this package registers its listener for the all events that occur in the application;
- When an event is received, it checks the implementation of the event class for compliance with
the
ShouldBeLoggedContract
interface; - If your event class implemented the
ShouldBeLoggedContract
interface, then using the specified in the filelogging.php
the logging channel, is being performed writing data;
Example of a logged event class:
Now it is enough to call at any place in your application:
And be sure that this event will be recorded in a log file.
Logging conditions
In some cases, it is necessary to add logging conditions to event. To do this, you can use the
skipLogging
method in the event class:
Additional loggers
Together with this package, the following pre-configured loggers are available to
you Feugene\EventsLogLaravel\Logging\...
:
Logger's class | Appointment |
---|---|
DefaultLogstashLogger |
Writes logs in the logstash format to a file, without modifying the body of the record (field context ) |
EventsLogstashLogger |
Writes logs in the logstash format to a file, but the event-related data is placed in the event section |
DefaultUdpLogstashLogger |
Sends logs in the logstash format over UPD protocol, without modifying record's body (field context ) |
EventsUdpLogstashLogger |
Writes logs in the logstash format to a file over UDP protocol, but the event-related data is placed in the event section |
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 ^2.0
monolog/monolog Version ^2.7
illuminate/log Version ^8.75 || ^9.0
illuminate/config Version ^8.75 || ^9.0
illuminate/events Version ^8.75 || ^9.0
illuminate/contracts Version ^8.75 || ^9.0