php-monsters / laravel-xlog
扩展Laravel 5+的日志功能
v1.3.2
2022-08-21 08:38 UTC
Requires
- php: >=7.0
- illuminate/support: >=5.0.0
Requires (Dev)
- phpunit/phpunit: ~4.0
README
扩展Laravel日志组件XLog在PHP的生命周期中为每个日志添加用户ID
、用户IP
和唯一的跟踪ID
。因此,您可以获取通过Laravel请求生命周期(从头到尾)提交的所有日志。
您可以使用tail命令获取所有日志。例如,如果您的唯一跟踪ID是523586093e
,则可以使用以下方式
cat laravel.log | grep 523586093e
输出
[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"}
安装
composer require php-monsters/laravel-xlog
将以下内容添加到您的应用程序服务提供者中(仅适用于Laravel < 5.5)
PhpMonsters\Log\XLogServiceProvider::class,
配置(可选)
将以下键添加到您的项目.env文件中
# track id key XLOG_ADD_USERID= (default true) XLOG_TRACK_ID_KEY= (default xTrackId)
使用方法
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');
传递参数
// 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());
记录异常
// 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');