fl0v / yii2-rollbar
该包最新版本(1.0.1)没有可用的许可证信息。
Yii2的Rollbar
1.0.1
2019-03-12 10:20 UTC
Requires
- php: >=7.1
- rollbar/rollbar: ^1.7
- yiisoft/yii2: ~2.0.13
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.0
- yiisoft/yii2-apidoc: ~2.1.0
This package is auto-updated.
Last update: 2024-09-12 23:26:50 UTC
README
此扩展是从baibaratsky/yii2-rollbar和eroteev/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(), ], ]; ], ], ], ],