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'),
如果不是。
我已经将 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'),
如果不是。