将错误日志发送到松弛[Logger :: getMonolog()undefined]

时间:2018-02-01 17:29:29

标签: php lumen slack-api monolog

我想直接将日志发送到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());
    }
}

1 个答案:

答案 0 :(得分:0)

当您使用带有以前api接口的新版本的Monolog / Monolog时,会发生此错误。只需使用vendor \ monolog \ monolog \ src \ Monolog \ Logger中的可用方法更新您的方法。 php文件