编程语言
首页 > 编程语言> > php – Laravel:使用`configureMonologUsing()`的多个日志提供程序?

php – Laravel:使用`configureMonologUsing()`的多个日志提供程序?

作者:互联网

我正在使用configureMonologUsing()添加两个自定义记录器.做标准的SOLID主体,我有两个提供者:ConsoleLoggerProvider和MailLogProvider.

这两个都有一个类似于的寄存器:

public function register()
{
    app()->configureMonologUsing(function(\Monolog\Logger $monolog) {
        $monolog->pushHandler(new HandlerClass());
    });
}

但是,我注意到logger会覆盖另一个记录器……我如何堆叠这些?

我也试过使用boot(),但是没有用.我找不到任何其他方式添加到Monolog堆栈.

最好,我也想叠加到Laravel的内置记录器上.

解决方法:

我(终于)找到了答案我的问题:

在我的提供者中,我使用了Log :: getMonolog() – > pushHandler([..])而不是使用configureMonologUsing().

这样可行!所有记录器,包括内置的Laravel文件记录器,都在激活.最后!

(老实说,我一直在寻找一种方法来添加到Monolog堆栈;我显然没有用正确的术语搜索)

标签:php,laravel,laravel-5,monolog
来源: https://codeday.me/bug/20190717/1486907.html