twineis/raven-php

Sentry (Raven) 错误监控工具,适用于 Laravel 和 Lumen,支持通过队列在后台发送数据

0.5.0 2017-04-03 20:51 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:04:02 UTC


README

Sentry (Raven) 错误监控工具,适用于 Laravel 和 Lumen,支持通过队列在后台发送数据

License Latest Version Total Downloads

Sentry (Raven) 错误监控工具,适用于 Laravel 和 Lumen,支持通过队列在后台发送数据。此工具将添加一个监听器到 Laravel 现有的日志系统中。它利用 Laravel 的队列系统将消息推送到后台,而不会减慢应用程序的速度。

rollbar

安装

使用以下命令安装最新版本

$ 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

作业数据可能相当大,请确保您使用可以支持大型数据集的队列,如 redissqs。如果作业无法添加到队列中,它将直接发送到 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 的启发。