我正在使用 configureMonologUsing()
添加两个自定义记录器。执行标准 SOLID 主体时,我有两个提供程序:ConsoleLoggerProvider
和 MailLogProvider
。
这两个都有一个类似的寄存器:
public function register()
{
app()->configureMonologUsing(function(\Monolog\Logger $monolog) {
$monolog->pushHandler(new HandlerClass());
});
}
但是,我注意到 over logger 会覆盖另一个 logger...我该如何堆叠这些?
我也尝试过使用 boot()
,但没有用。我找不到任何其他方法来添加到 Monolog 堆栈。
最好,我也想堆叠到 Laravel 的内置记录器上。
最佳答案
我(终于)找到了我的问题的答案:
在我的提供商中,我没有使用 configureMonologUsing()
,而是使用了 Log::getMonolog()->pushHandler([..])
行得通!所有记录器,包括内置的 Laravel 文件记录器,都在触发。最后!
(老实说,几天来我一直在寻找添加到 Monolog 堆栈的方法;我显然没有按正确的术语进行搜索)
关于php - Laravel:使用 `configureMonologUsing()` 的多个日志提供程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44770013/