Skip to content

Laravel Extended Logger (XLog) that add additional data including track_id to logs

License

Notifications You must be signed in to change notification settings

php-monsters/laravel-extended-logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laravel-xlog

Extended Laravel Log Component XLog adds User ID, User IP, and unique Track ID to each log in a PHP lifecycle. So you can fetch all logs that are submitted through a Laravel request lifecycle (from beginning to end).

You can fetch all logs using the tail command. For example if your unique track id was 523586093e then you can use it like below:

cat laravel.log | grep 523586093e 

output:

[2024-06-26 00:36:12] production.DEBUG: AsanpardakhtController::token_request {"servicetypeid":1,"merchantconfigurationid":38718596,"localinvoiceid":17193495725213,"amountinrials":6980000,"localdate":"20240626 003612","callbackurl":"https://shop.test/payment/gateway-transactions/pqj5nm/callback","paymentid":0,"additionaldata":null,"settlementportions":[{"iban":"IR600780100710844707074710","amountInRials":6980000,"paymentId":0}],"sid":"","uip":"31.14.119.2","uid":"user","xTrackId":"523586093e"}
[2024-06-26 00:36:13] production.INFO: AsanpardakhtController::token_response hd764QZna1fl1ALEwjoA: 200 {"sid":"","uip":"31.14.119.2","uid":"user","xTrackId":"523586093e"}

Installation

composer require php-monsters/laravel-xlog

Add this to your app service providers (only for Laravel < 5.5):

    PhpMonsters\Log\XLogServiceProvider::class,

Config (optional)

add following keys to your project .env file

# track id key
XLOG_ADD_USERID= (default true)
XLOG_TRACK_ID_KEY= (default xTrackId)

Usage

use PhpMonsters\Log\XLog; // or register XLog Facade

XLog::debug('my log message');
XLog::info('my log message');
XLog::notice('my log message');
XLog::warning('my log message');
XLog::error('my log message');
XLog::critical('my log message');
XLog::alert('my log message');
XLog::emergency('my log message');

Pass parameters

// passing string as the second parameter
$string = 'test'
XLog::info('log message', [$string]);

// passing array
$array = ['a' => 1, 'b' => 2, 'c' => 'value3', 'd' => 4.2];
XLog::info('log message', $array);
// log input data in the controller's action
XLog::info('verify transaction request', $request->all());

Log exception

// The first parameter is the thrown exception. The second parameter specifies whether to log the trace or not. the third parameter is the level of the log. default value is `error`.
XLog::exception($exception, true);
XLog::exception($exception, true, 'error');
XLog::exception($e, false, 'emergency');

About

Laravel Extended Logger (XLog) that add additional data including track_id to logs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages