我希望能够向我的日志记录添加唯一的ID(Uid)。
在示例1]中,取决于以下 示例2:仅使用Mono类,可以按预期工作。 [[为什么示例1在日志中添加config/logging.php
和ProcessorTap
文件的文件无法正常工作。在创建日志语句时(根据stdout
),日志记录配置为使用ProcessorTap
,它引用了UidProcessor
类,该类应添加Uid。Uid
,而laravel ("laravel/framework": "5.7.*")
也应使用Monolog类?
示例1
:调用此api时,Log::info('test')
的输出不包含UiDRoute::get('/test', function () {
Log::info('test'); //output = [2020-03-24 04:51:16] local.INFO: test
});
config / logging.php:
'default' => env('LOG_CHANNEL', 'stdout'), //.env LOG_CHANNEL=stdout 'stdout' => [ 'driver' => 'monolog', 'handler' => StreamHandler::class, 'with' => [ 'stream' => 'php://stdout', ], 'tap' => [ ProcessorTap::class, ], ]
ProcessorTap:
use Monolog\Processor\UidProcessor; class ProcessorTap { /** * Customize the given logger instance. * * @param \Illuminate\Log\Logger $logger * @return void */ public function __invoke($logger) { $logger->pushProcessor(new UidProcessor()); } }
的日志中示例2
:正确运行Uid(a484a6729e14996c0af1)添加到$logger->info('test')
use Monolog\Logger;
use Monolog\Processor\UidProcessor;
Route::get('/test', function () {
$logger = new Logger('main');
$logger->pushProcessor(new UidProcessor(20));
$logger->info('test'); // output = [2020-03-24 04:57:26] main.INFO: test [] {"uid":"a484a6729e14996c0af1"}
});
我希望能够向我的日志记录添加唯一的ID(Uid)。在示例1中:取决于config / logging.php和下面的ProcessorTap文件无法正常工作。日志记录配置为...
use Monolog\Processor\UidProcessor;
class ProcessorTap
{
/**
* Customize the given logger instance.
*
* @param \Illuminate\Log\Logger $logger
* @return void
*/
public function __invoke($logger)
{
collect($logger->getHandlers())->each(function ($handler) {
$handler->pushProcessor(new UidProcessor());
});
}
}