php-monsters/laravel-xlog

扩展Laravel 5+的日志功能

安装数: 1,913

依赖者: 3

建议者: 0

安全性: 0

星标: 10

关注者: 1

分支: 1

公开问题: 0

类型:laravel-component

v1.3.2 2022-08-21 08:38 UTC

This package is auto-updated.

Last update: 2024-08-26 20:21:10 UTC


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');