我为不同级别的日志创建了不同的文件,例如Log :: info,Log :: error等。现在我还想在出现错误时发送消息。我也是通过在app/bootstrap.php
$app->configureMonologUsing( function($monolog) {
$slackHandler = new Monolog\Handler\SlackHandler(env('SLACK_TOKEN'), env('SLACK_CHANNEL'), 'Monolog', true, null, Monolog\Logger::ERROR);
$monolog->pushHandler($slackHandler);
});
但是它已经覆盖了默认记录器,现在只有松弛记录器工作且没有日志添加到storage / logs /文件夹中
答案 0 :(得分:1)
文档对于它究竟是做什么非常模糊,但看起来configureMonologUsing
将Monolog配置为仅使用您专门添加到其中的处理程序。这意味着从未添加Laravel设置为登录laravel.log文件的处理程序(我相信StreamHandler
)。
我建议不要使用它并将此代码放入AppServiceProvider
中,这将添加新处理程序,同时保留Laravel喜欢添加的所有默认处理程序...
$monolog = \Log::getMonolog();
$slackHandler = new \Monolog\Handler\SlackHandler(env('SLACK_TOKEN'), env('SLACK_CHANNEL'), 'Monolog', true, null, Monolog\Logger::ERROR);
$monolog->pushHandler($slackHandler);