Laravel 5只有一个地方可以配置日志记录。您可以指定是需要每日日志文件还是单个日志文件。
我想使用我自己的单日志实例,但我似乎无法弄清楚将其分配给 Laravel 日志编写器的合适位置是什么。
我希望能够继续使用日志外观。
在我的搜索中,我偶然发现了 http://laravel.io/forum/02-11-2014-howto-log-with-mongodb,所以我对如何实现这一点有一个想法,但论坛帖子是为 Laravel 4 编写的。在Laravel 5中,不再有app/start/global.php
,我正在寻找此代码的合适位置。
这是作为中间件你应该做的事情吗?
看看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']
。因此,一旦您覆盖了它,您就可以了。
我通过覆盖 Illuminate''Foundation''Bootstrap''ConfigureLogging 类来解决这个问题。 关于如何: 在 Laravel 5 中配置自定义日志的小文章