写了一个 Laravel/Lumen Trace Log 组件
介绍
主要提供的功能有:
- 一个中间件:方便的记录接口请求和接口返回数据,方便 debug
- 日志自动添加 traceid 方便追踪处理的上下文
安装
composer require forecho/laravel-trace-log
使用方法
中间件(可选)
修改 App\Http\Kernel.php
文件,添加 TraceLogMiddleware
中间件。
use Forecho\LaravelTraceLog\Middleware\TraceLogMiddleware;
protected $middlewareGroups = [
// ...
'api' => [
// ...
'request.tracelog'
],
];
protected $routeMiddleware = [
// ...
'request.tracelog' => TraceLogMiddleware::class
];
记录日志
use Forecho\LaravelTraceLog\TraceLog;
TraceLog::warning('This is a warning message.', ['foo' => 'bar']);
TraceLog::error('This is an error message.', ['foo' => 'bar']);
TraceLog::info('This is an info message.', ['foo' => 'bar']);
TraceLog::debug('This is a debug message.', ['foo' => 'bar']);
获取跟踪ID
use Forecho\LaravelTraceLog\TraceLog;
TraceLog::getTraceId();
Curl 请求
如果你想让下一个系统使用相同的trace_id
,你需要将trace_id
添加到你的请求头中
use Forecho\LaravelTraceLog\TraceLog;
$key = config('tracelog.trace_id_header_key');
$headers = [
"$key: " . TraceLog::getTraceId(),
]
大佬