Laravel 8.0 没有看到 Rollbar

Rollbar is not seen by Laravel 8.0

我已经将 Rollbar 7.0 安装到 Laravel 8.0。 PHP 版本为 7.4 我正在尝试使用简单的控制台命令发送测试异常消息,但没有发送任何消息。 我的配置如下: config/app.php:

return [
    'providers' => [
        Rollbar\Laravel\RollbarServiceProvider::class
    ...
]

config/logging.php:

 'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['other', 'rollbar'],
            'ignore_exceptions' => false,
        ],
        'rollbar' => [
            'driver' => 'monolog',
            'handler' => MonologHandler::class,
            'access_token' => env('ROLLBAR_TOKEN'),
            'level' => env('ROLLBAR_LEVEL'),
            'enabled' => true,
            'environment' => env('ROLLBAR_ENVIRONMENT'),
        ]
        ....

config/services.php(不过好像不行)

    'rollbar' => [
        'access_token' => env('ROLLBAR_TOKEN'),
        'environment' => env('ROLLBAR_ENVIRONMENT'),
        'level' => env('ROLLBAR_LEVEL')
    ],

app.env:

ROLLBAR_TOKEN=real_token
ROLLBAR_LEVEL=debug
ROLLBAR_ENVIRONMENT=backend_test

并且控制台命令本身具有以下视图:

public function handle()
{
//    Rollbar::init([
//        'driver' => 'monolog',
//        'handler' => MonologHandler::class,
//        'access_token' => env('ROLLBAR_TOKEN'),
//        'level' => env('ROLLBAR_LEVEL'),
//        'enabled' => true,
//        'environment' => env('ROLLBAR_ENVIRONMENT'),
//    ]);
    try{
        $x = 4/0;
        } catch(\Exception $exception) {
            Rollbar::error('caught demo exception', ["details" => $exception->getMessage()]));
            Rollbar::flush();
            exit(1);
    }
}

所以当它是这样的时候,rollbar 保持沉默。但是如果我取消注释初始化,效果很好,向滚动条发送调试消息。

这也不适用于整个项目。

你能告诉我吗,我可以在这里做什么才能让它在每个文件中初始化时全局工作?

更新:我还清除了配置缓存并尝试将滚动条设置为默认值

Laravel in app/logging.php 有一个默认频道配置。通常“默认”应该意味着也有一些其他工作通道,但在这里,不知何故它的意思就像“唯一使用的通道”。或者我只是不完全理解它应该如何工作。所以我的滚动条通道似乎被另一个“默认”通道覆盖,这就是系统不使用它的原因。所以解决办法就是切换默认频道:

    'default' => env('LOG_CHANNEL', 'stack'),

当 rollbar 包含在堆栈通道中时或只是

    'default' => env('LOG_CHANNEL', 'rollbar'),

如果不是。