clowdy / laravel-raven
Requires
- php: >=5.5.9
- illuminate/log: ~5
- illuminate/queue: ~5
- illuminate/support: ~5
- raven/raven: ~0.13
Requires (Dev)
- mockery/mockery: ~0.9.1
- phpunit/phpunit: ~4.0
README
Laravel Raven Sentry (Raven) 错误监控,适用于 Laravel 4 & 5,后台发送并使用队列
Sentry (Raven) 错误监控,适用于 Laravel 5,后台发送并使用队列。这将为 Laravel 现有的日志系统添加一个监听器。它利用 Laravel 的队列将消息推送到后台,而不会减慢应用程序。
安装
将包添加到您的 composer.json
并运行 composer update
。
{ "require": { "clowdy/laravel-raven": "2.1.*" } }
在 config/app.php
中添加服务提供者
Clowdy\Raven\RavenServiceProvider::class,
注册 Raven 别名
'Raven' => Clowdy\Raven\Facades\Raven::class,
寻找 Laravel 4 兼容版本?
查看 1.0 分支
配置
发布包含的配置文件
$ 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 logger()->error($exception);
您可以通过修改环境变量更改配置中使用的日志级别
RAVEN_LEVEL=error
事件 ID
有一个方法可以获取最新的事件 ID,以便在错误页面等地方使用。
Raven::getLastEventId();
上下文信息
您可以像这样传递额外的信息作为上下文
Log::error('Oops, Something went wrong', [ 'user' => ['name' => $user->name, 'email' => $user->email] ]);
用户数据可以添加到通过处理器发送的任何消息的上下文中,例如包含的 UserDataProcessor
;请参阅以下内容。
包含的可选处理器
UserDataProcessor
此处理器将关于当前用户的数据附加到错误报告中。
'processors' => [ Clowdy\Raven\Processors\UserDataProcessor::class, ],
或者,要配置 UserDataProcessor
对象
'processors' => [ new Clowdy\Raven\Processors\UserDataProcessor([ 'only' => ['id', 'username', 'email'], // This is ['id'] by default; pass [] or null to include all fields 'appends' => ['normallyHiddenProperty'], ]), ],
请参阅 UserDataProcessor
源代码以获取完整详细信息。
LocaleProcessor
此处理器将当前应用程序的区域设置作为标签附加到错误报告中。
'processors' => [ Clowdy\Raven\Processors\LocaleProcessor::class, ],
致谢
本软件包的灵感来源于rcrowe/Raven。