boscowu/laravel-tracelog
TraceLog for Laravel|Lumen
基于Laravel和Lumen框架的调试日志组件.
安装
安装组件:
$ composer require boscowu/laravel-tracelog
Laravel
Laravel 默认自动加载 TraceLogServiceProvider::class
Lumen
使用 Lumen, 需要添加 service provider 到 bootstrap/app.php 文件里.
$app->register(boscowu\TraceLog\TraceLogServiceProvider::class);
配置文件
配置文件的作用在于指定个性化的日志格式标识名称
Laravel
在项目根目录下执行以下命令
php artisan vendor:publish --provider="boscowu\TraceLog\TraceLogServiceProvider"
Lumen
复制config文件至项目的config目录中
cp vendor/boscowu/trace-log/config/tracelog.php config/tracelog.php
配置说明
在 tracelog.php 配置文件中配置日志格式名称
// tracelog.php
<?php
return [
//填写你的laravel项目中config/logging.php配置文件里channels数组下的日志格式名称
'channel' => null, //默认null
//trace-id的前缀设置
'prefix' => 'TraceLog:'
];
// logging.php
<?php
return [
'channels' => [
'stack' => [ //填写此名称
'driver' => 'stack',
'channels' => ['daily'],
],
'single' => [ //填写此名称
'driver' => 'single',
'path' => storage_path('logs/lumen.log'),
'level' => 'debug',
],
'daily' => [ //填写此名称
'driver' => 'daily',
'path' => storage_path('logs/lumen.log'),
'level' => 'debug',
'days' => 14,
],
];
中间件(可选)
在Laravel | Lumen中可以添加中间件boscowu\TraceLog\Middleware\TraceLogMiddleware::class
可在日志中查找到request直至response的请求返回内容,同时response的header头中有返回Trace-id 以便日志可以根据 Trace-id 进行查询
日志使用
在以上操作结束后可在代码任意地点使用日志功能
function something()
{
//打日志
TraceLog::log('token1-1', $token);
//如果设置了中间件trace-id为中间件生成的结果为查询依据
TraceLog::log('token1-2', $token);
}