fl0v/yii2-rollbar

该包最新版本(1.0.1)没有可用的许可证信息。

Yii2的Rollbar

安装数: 9,475

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

公开问题: 0

类型:yii2-extension

1.0.1 2019-03-12 10:20 UTC

This package is auto-updated.

Last update: 2024-09-12 23:26:50 UTC


README

此扩展是从baibaratsky/yii2-rollbareroteev/yii2-rollbar分叉而来。对于Yii 1.x,请使用baibaratsky/yii-rollbar

安装

安装此扩展的首选方式是通过composer

要安装,请运行以下命令之一:

$ php composer.phar require fl0v/yii2-rollbar

或者

"fl0v/yii2-rollbar": "*"

将以下内容添加到您的composer.json文件的require部分。

使用方法

  • 将组件配置添加到您的全局配置文件中
'components' => [
    'rollbar' => [
        'class' => 'fl0v\yii2\rollbar\RollbarLoader',
        'config' => [
            'environment' => '{your_environment}',
            'access_token' => '{rollber_access_token}',
            // other Rollbar config settings
        ],
    ],
]
  • web错误处理器配置添加到您的web配置文件中
'components' => [
    'errorHandler' => [
        'class' => 'fl0v\yii2\rollbar\handlers\WebErrorHandler',
    ],
],
  • console错误处理器配置添加到您的console配置文件中
'components' => [
    'errorHandler' => [
        'class' => 'fl0v\yii2\rollbar\handlers\ConsoleErrorHandler',
    ],
],

异常的负载

如果您希望异常向Rollbar发送一些额外的数据,可以通过实现PayloadInterface来实现。

use fl0v\yii2\rollbar\PayloadInterface;
 
class SomeException extends \Exception implements PayloadInterface
{
    public function rollbarPayload()
    {
        return ['foo' => 'bar'];
    }
}

日志目标

您可能希望将Yii::error()Yii::info()等生成的日志收集到Rollbar中。

在您的配置中添加以下代码

'components' => [
    'log' => [
        'targets' => [
            [
                'class' => 'fl0v\yii2\rollbar\RollbarTarget',
                'levels' => ['error', 'warning', 'info'], // Log levels you want to appear in Rollbar             
                'categories' => ['application'],
            ],
        ],
    ],
],

Rollbar JavaScript

Rollbar还提供JavaScript调试器,请参阅https://docs.rollbar.com/docs/javascript。要在Yii2中使用它,有一个fl0v\yii2\rollbar\RollbarAsset可以注册到您的模板中。

RollbarAsset独立于服务器端组件使用,使用assetManager进行配置。有关RollbarAsset的配置部分,请参阅Rollbar参考https://docs.rollbar.com/docs/rollbarjs-configuration-reference#section-reference

'assetManager' => [
    ...
    'bundles' => [
        ....
        'fl0v\yii2\rollbar\RollbarAsset' => [
            // Rollbar configuration
            'config' => [
                'accessToken' => '{token}',
                'payload' => [
                    'environment' => '{environment}',                    
                ],
            ],
            // metrics to add to payload, called when the asset is registered
            'payload' => function () {
                return [
                    'person' => [
                        'id' => \Yii::$app->has('user') ? (string) \Yii::$app->user->id : null,
                        'username' => \Yii::$app->has('user') && ! \Yii::$app->user->isGuest ? \Yii::$app->user->identity->username : null,
                    ],
                    'custom' => [
                        'myData' => 'asd',
                        'key' => uniqid(),
                    ],
                ];
            ],
        ],
    ],
],