jcf/getsentry

Laravel 4 的 Sentry 集成

1.1.0 2016-10-25 16:55 UTC

This package is not auto-updated.

Last update: 2024-09-25 13:16:40 UTC


README

Sentry (getsentry.com) 和 Laravel 4 的集成。自动将 Laravel 日志消息发送到 Sentry。此包以极其简单的方式将 Sentry 和 Laravel 4 集成在一起。让我们看看它是如何工作的。

安装

您可以通过在项目的 composer.json 中要求 jcf/getsentry 包来使用 Composer 安装此包。

{
    "require": {
        "jcf/getsentry": "1.1.*"
    }
}

然后运行 composer update

php composer.phar update

更新 composer 后,将 ServiceProvider 添加到 app/config/app.php 中的 providers 数组中

'Jcf\Getsentry\GetsentryServiceProvider',

配置

运行 php artisan config:publish jcf/getsentry 以发布配置文件。

php artisan config:publish jcf/getsentry

在 /app/config/packages/jcf/getsentry 目录下编辑配置文件。您也可以通过在 app/config/packages/jcf/getsentry/dev 中放置它们来为您的包创建特定环境的配置文件,例如。

选项

提供您项目的 Sentry DSN。您可以在 getsentry.com 的项目设置选项卡/ API 密钥中获取此信息。

return array(

    'dsn' => 'https://1f68584cfb824d123432534ab452adb778:7e06629189c02355bd2b928881a4c1f1@app.getsentry.com/26241',

然后设置应报告给 Sentry 的环境。

    'environments' => ['stagging', 'production'],

设置应报告给 Sentry 的日志级别。

    'environments' => ['error', 'emergency', 'notice', 'info', 'debug'],

设置是否应将 Sentry 事件 ID 保存到会话中。如果您想与用户共享事件 ID,这非常有用。

    'saveEventId' => true,

用法

自动将符合配置规则的所有 Laravel 日志消息发送到 Sentry。

如果需要,您也可以手动触发 Laravel 日志并将额外数据传递给 Sentry。

	// Debug with User and Extra Data
    \Log::debug('Debugging', [
	'user' => [
		'id' => 99,
		'email' => 'joao@3eengenharia.com.br',
		'data' =>[
			'Member Since' => '2011-09-07'
		]
	]
	, 'extra' => ['Ammount' => '142', 'Membership' => 'Activated']]
    );

    // Debug with User
    \Log::debug('Debug bug!', ['user' => 'jotafurtado']);

    // Info with User
    \Log::info('User has logged in.', ['user' => 'jotafurtado']);

    // Simple Error
    \Log::error('Image not saved.');

要获取事件 ID,请使用以下代码

 \Session::get('sentryEventId');