healthengine/laravel-logging
| Install | |
|---|---|
composer require healthengine/laravel-logging |
|
| Latest Version: | v6.0.0 |
| PHP: | ~8.3.0 || ~8.4.0 |
| License: | MIT |
| Last Updated: | Sep 8, 2026 |
| Links: | GitHub · Packagist |
Laravel Logging
This is a custom package designed for Laravel. It provides a logging stack pre-configured to format for Logstash and adds multiple useful Monolog processors.
It includes the following processors to enrich logs with extra data:
- MemoryPeakUsageProcessor
which adds the peak memory usage using the
memory_get_peak_usage()PHP function, - MemoryUsageProcessor
which adds the current memory usage using the
memory_get_usage()PHP function, - UidProcessor which adds a unique ID to each instance of the logger class - useful to track all logs across a single request,
- WebProcessor which adds the current request URI, request method and client IP to a log record,
- BuildTagProcessor which is designed for use in docker and will add the image tag to the logs.
- IntrospectionProcessor which adds the file, class, function and line where the log was triggered.
Usage
A logstash_single, logstash_stderr, and logstash_stdout logger have been made available for use as logging channels. You can use these in a stack
along with some others or use them standalone. Simply set your LOG_CHANNEL environment variable to either of those
pre-configured channels.
To customise configuration of these channels,
copy the contents of laravel-logging.php to the channels key in the application's
config/logging.php file.
The logstash_stderr channel includes a formatter for Logstash, the only difference compared to the logstash channel is that
the log lines go to STDERR instead of to a file. This is useful for a Laravel application running in docker.
The logstash_stdout channel includes a formatter for Logstash, the only difference compared to the logstash channel is that
the log lines go to STDOUT instead of to a file. This is useful for a Laravel application running in docker.
Note: The logstash_stdout channel cannot be used with PHP FPM processes because PHP FPM makes STDOUT unavailable internally.
Note: The BuildTagProcessor requires you to inject the Docker build tag into build_tag key in config/app.php. If
it is not present, the value is not added to the logs.
License
Laravel Logging is licensed under the MIT license.
Related Packages
Extended laravel debug exceptions display (more info) and monolog's html emails...