我想直接将日志发送到slack channell。 我为Laravel项目提供的服务提供商工作得很好但是当我向Lumen添加提供程序时出现错误:
Call to undefined method Monolog\Logger::getMonolog()
这是我的提供商中的启动方法:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\ServiceProvider;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\SlackWebhookHandler;
use Monolog\Logger;
class SendLogsToSlackServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
$monolog = Log::getMonolog();
$slackHandler = new SlackWebhookHandler(
env('SLACK_WEBHOOK'),
env('SLACK_USER'),
env('SLACK_BOT_NAME'),
$useAttachment = true,
$iconEmoji = null,
$useShortAttachment = false,
$includeContextAndExtra = true,
$level = Logger::NOTICE,
$bubble = true
);
$monolog->pushHandler($slackHandler);
$slackHandler->setFormatter(new LineFormatter());
}
}
答案 0 :(得分:0)
当您使用带有以前api接口的新版本的Monolog / Monolog时,会发生此错误。只需使用vendor \ monolog \ monolog \ src \ Monolog \ Logger中的可用方法更新您的方法。 php文件