viethqb/laravel-logging-sensitive

Laravel Logging Sensitive By viethqb

1.1.5 2024-11-15 10:11 UTC

This package is auto-updated.

Last update: 2025-06-15 11:17:23 UTC


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":"******"}