使用Lumen Framework 5.4,我尝试将Log::info('etc')
写入单独的文件storage/logs/info.log
。但是,我发现代码将日志级别信息及上面的记录到单独的文件中,而我只想将信息日志级别记录到我的自定义文件中。
在bootstrap/app.php
:
$app->configureMonologUsing(function($monolog) {
$handler = new Monolog\Handler\StreamHandler(storage_path('logs/info.log'), Monolog\Logger::INFO, false);
$handler->setFormatter(new \Monolog\Formatter\LineFormatter(null, null, true));
$monolog->pushHandler($handler);
return $monolog;
});
如何确保Lumen将级别信息记录到storage/logs/info.log
和所有其他日志级别到默认日志文件storage/logs/lumen.log
?
答案 0 :(得分:0)
我遇到了类似的情况,需要一个单独的日志文件,用于通过嵌入式 iframe 调用调用我的应用程序(我向另一个站点提供了一些小部件)
发现我使用的是 Lumen 版本 >= 5.6,所以我创建了一个自定义日志通道(通过将 logging.php 添加到 app/config-dir)。
复制每日频道,并与文件名一起重命名为“小部件”。
在我的控制器中添加
use Log;
我也在控制器中记录了这样的消息:
Log::channel('widget')->info('message from custom channel');