Laravel 5只有一个地方可以配置日志记录。您可以指定是否需要每日日志文件或单个日志文件。
我想使用我自己的monolog实例,但我似乎无法弄清楚将它分配给Laravel Log writer的适当位置。
我希望能够继续使用Log facade。
在我的搜索中,我偶然发现了http://laravel.io/forum/02-11-2014-howto-log-with-mongodb,所以我对如何实现这一点有所了解,但论坛帖子是为Laravel 4编写的。在Laravel 5中,不再有app/start/global.php
而且我正在寻找这个代码的合适位置。
这是你应该做的中间件吗?
答案 0 :(得分:2)
看看Illuminate\Foundation\Bootstrap\ConfigureLogging
。这是记录设置的地方。
特别是registerLogger()
方法。请注意它如何设置$app['log']
:
$app->instance('log', $log = new Writer(
new Monolog($app->environment()), $app['events'])
);
所以我要做的就是编辑你的AppServiceProvider
(或创建一个新的LogServiceProvider
,你的偏好)并覆盖它。
$app->instance('log', new \Illuminate\Log\Writer(
new Monolog\Logger(... however you want to setup Monolog ...)
);
Log
外观只是访问$app['log']
。所以,一旦你超越了这一点,你就会全力以赴。
答案 1 :(得分:1)
我通过覆盖Illuminate \ Foundation \ Bootstrap \ ConfigureLogging类解决了这个问题。小写如何:Configuring Custom Logs in Laravel 5