viethqb / laravel-logging-sensitive
Laravel Logging Sensitive By viethqb
1.1.5
2024-11-15 10:11 UTC
Requires
- php: ^7.4|^8.1|^8.2
- illuminate/support: ^8.0|^9.0|^10.0
- monolog/monolog: ^2.0
README
This base code logger custom in laravel
- Hide data sensitive
- Add request ID to serve the request flow
Install
composer require viethqb/laravel-logging-sensitive
Update config/logging.php
- Update BaseLogger to config logging:
'daily' => [ 'driver' => 'daily', 'path' => storage_path('logs/laravel.log'), 'level' => 'debug', 'days' => 14, 'tap' => [Viethqb\LaravelLoggingSensitive\BaseLogger::class], ]
Update config provider from config/app.php
Viethqb\LaravelLoggingSensitive\Providers\LoggerServiceProvider::class
Config key hide sensitive
- Default
$sensitiveKeys = [ "api_key", "api key", 'apikey', 'secret_key', 'secret key', 'secretKey', 'user name', 'user_name', 'userName', "password", ]
- Config custom key hide in method boot AppServiceProvider
BaseLogger::setSensitiveKeys([""]);
- Config custom function listen log boot AppServiceProvider
BaseLogger::setCallbackInvoke(function ($record) { // Todo custom function callback post invoke log });
Demo request result
- input
Log::info('Log', ['api_key' => 'SB8WHshk5WWAbIlPVZBvzCJTJCsahpq87q', 'password' => "123456"]);
- output Log
[2024-11-15 08:56:09] local.INFO: [Log ID: JFFAo42mzFzjUDaV] Log {"api_key":"******", "password":"******"}