【发布时间】:2019-12-19 05:52:40
【问题描述】:
Laravel:如何更改/阻止 Monolog 日志记录到 2 个不同的位置
此代码创建一个 Monolog JSON 格式化程序
LogServiceProvider->boot()
$filename = __DIR__.'/../json_logger.log';
// // Create the logger
$logger = new \Monolog\Logger('json_logger');
$stream_handler = new \Monolog\Handler\StreamHandler($filename);
$stream_handler->setFormatter( new \Monolog\Formatter\JsonFormatter() );
// Now add some handlers
$logger->pushHandler($stream_handler);
Log::pushHandler($stream_handler);
\Monolog\Registry::addLogger($logger);
这样使用
Log::info('My json-logger is now ready', 'file'=>__FILE__,'line'=>__LINE__]);
这将以 json 格式
记录到 json_logger.logBUT 也会以标准格式
记录到 storage/logs/laravel.log我想在一个地方专门使用 JSON 格式
【问题讨论】:
-
查看Writing To Specific Channels的文档。您可以使用
Log::channel('json_logger')->info('My json-logger is now ready', 'file'=>__FILE__,'line'=>__LINE__]);登录到单通道