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

问题描述 投票:2回答:1

我想直接将日志发送到松弛通道。我为Laravel项目提供的服务提供商工作得很好但是当我向Lumen添加提供程序时出现错误:

Call to undefined method Monolog\Logger::getMonolog()

这是我的Provider中的启动方法:

<?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());
    }
}
php lumen slack-api monolog
1个回答
0
投票

当您使用新版本的Monolog / Monolog与之前的api接口时出现此错误....只需使用vendor \ monolog \ monolog \ src \ Monolog \ Logger.php文件中的可用方法更新您的方法

© www.soinside.com 2019 - 2024. All rights reserved.