snowsoft/laravel-log-enhancer

Make debugging easier by adding more data to your laravel logs

dev-master 2022-10-01 03:22 UTC

This package is auto-updated.

Last update: 2024-12-01 00:20:36 UTC


README

Latest Stable Version Total Downloads License StyleCI Buy us a tree

Laravel Log Enhancer (Laravel 5.6 to Laravel 9.x)

Laravel logs help all of us debug issues. We value them the most in production. But, the contextual data of the request is not logged by default. We need more than just stack trace to debug the issue easily. The things like request URL, request input data, session data, etc. help us hunt down the exact cause quickly. That's what this plug-and-play Laravel package does for you :)

Before

Before

After

After

Requirements

Notes:

Installation

  1. Install the package by running this command in your terminal/cmd:
composer require snowsoft/laravel-log-enhancer
  1. Add this package's LogEnhancer class to the tap option of your log channel in config/logging.php:
'production_stack' => [
    'driver' => 'stack',
    'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class],
    'channels' => ['daily', 'slack'],
],

Optionally, you can import config file by running this command in your terminal/cmd:

php artisan vendor:publish --tag=laravel-log-enhancer-config

It has following configuration settings:

  • (bool) log_request_details => Set to true if you wish to log request data. Reference

  • (bool) log_input_data => Set to true if you wish to log user input data

  • (bool) log_request_headers => Set to true if you wish to log request headers

  • (bool) log_session_data => Set to true if you wish to log session data

  • (bool) log_memory_usage => Set to true if you wish to log memory usage Reference

  • (bool) log_git_data => Set to true if you wish to log git branch name, last commit message, last commit id, staged or (un)staged changes.

  • (bool) log_app_details => Set to true if you wish to log application data. It will include Laravel Version, PHP Version, Config Cached and Route Cached details.

  • (array) ignore_input_fields => If input data is being sent, you can specify the inputs from the user that should not be logged. for example, password,cc number, etc.

Lumen compatibility

We do not use Lumen in any of our projects. And this package is not tested with Lumen framework. If you are willing to use this package with Lumen, please help us by testing and making a PR to make it work. Thanks.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Treeware

You're free to use this package, but if it makes it to your production environment I would highly appreciate you buying the world a tree.

It’s now common knowledge that one of the best tools to tackle the climate crisis and keep our temperatures from rising above 1.5C is to plant trees. If you contribute to our forest you’ll be creating employment for local families and restoring wildlife habitats.

You can buy trees at for our forest here offset.earth/treeware

Read more about Treeware at treeware.earth

Special Thanks to