twineis / raven-php
Sentry (Raven) 错误监控工具,适用于 Laravel 和 Lumen,支持通过队列在后台发送数据
Requires
- php: >=5.5.9
- illuminate/queue: ~5
- illuminate/support: ~5
- monolog/monolog: ~1.11 <=1.22
- sentry/sentry: ^1.0
Requires (Dev)
- mockery/mockery: ~0.9.1
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-14 19:04:02 UTC
README
Sentry (Raven) 错误监控工具,适用于 Laravel 和 Lumen,支持通过队列在后台发送数据
Sentry (Raven) 错误监控工具,适用于 Laravel 和 Lumen,支持通过队列在后台发送数据。此工具将添加一个监听器到 Laravel 现有的日志系统中。它利用 Laravel 的队列系统将消息推送到后台,而不会减慢应用程序的速度。
安装
使用以下命令安装最新版本
$ composer require twineis/raven-php
对于 Laravel,在 config/app.php
中添加服务提供者
Twine\Raven\Providers\LaravelServiceProvider::class,
注册 Raven 别名
'Raven' => Twine\Raven\Facades\Raven::class,
对于 Lumen,在 bootstrap/app.php
中添加以下内容
$app->register(Twine\Raven\Providers\LumenServiceProvider::class);
配置
发布包含的配置文件(仅限 Laravel)
$ php artisan vendor:publish
使用环境变量 RAVEN_DSN
或更改配置文件来更改 Sentry DSN
RAVEN_DSN=your-raven-dsn
此库使用队列系统,请确保您的 config/queue.php
文件配置正确。您还可以在 raven 配置中指定要使用的连接和队列。连接和队列必须在 config/queue.php
中存在。可以使用 RAVEN_QUEUE_CONNECTION
设置连接,使用 RAVEN_QUEUE_NAME
设置队列。
RAVEN_QUEUE_CONNECTION=redis RAVEN_QUEUE_NAME=error
作业数据可能相当大,请确保您使用可以支持大型数据集的队列,如 redis
或 sqs
。如果作业无法添加到队列中,它将直接发送到 Sentry,减慢请求速度,以免丢失。
使用方法
要监控异常,只需使用 Log
门面或助手即可
Log::error($exception); // or app('log')->error($exception);
您可以通过修改环境变量来更改配置中的日志级别,从而更改使用的日志
RAVEN_LEVEL=error
事件 ID
有一个方法可以获取最后一个事件 ID,以便可以在错误页面等地方使用。
Raven::getLastEventId();
上下文信息
您可以通过以下方式传递额外的上下文信息
Log::error('Oops, Something went wrong', [ 'user' => ['name' => $user->name, 'email' => $user->email] ]);
致谢
此包受到 rcrowe/Raven 的启发。