juanisorondo / yii2-phpbrake
Yii2 PHPBrake集成
v1.4.0
2024-05-16 19:11 UTC
Requires
- php: ^7.0 || ^8.0
- airbrake/phpbrake: ^0.8
- yiisoft/yii2: ^2.0
README
为Yii2提供Airbrake集成,它围绕官方的Airbrake PHP库(airbrake/phpbrake)进行包装。
安装
composer require biller/yii2-airbrake
使用
虽然不是必需的,但建议将AirbrakeService
配置为环境(或甚至公共)配置中的组件,以便在整个应用程序中轻松访问(例如,使用Yii::$app->get('airbrakeService')
)。
return [ // ... 'components' => [ // ... 'airbrakeService' => [ 'class' => biller\phpbrake\AirbrakeService::class, 'enabled' => true, // default TRUE 'projectId' => 'YOUR_PROJECT_ID', 'projectKey' => 'YOUR_PROJECT_KEY', 'environment' => YII_ENV, // default NULL 'appVersion' => [your-app-version], // default NULL 'rootDirectory' => [source-root-directory], // default NULL 'host' => [api-endpoint-host], // default "api.airbrake.io" 'httpClient' => [http-client-type], // default "default" 'setGlobalInstance' => [boolean], // default TRUE 'setErrorHandler' => [boolean], // default FALSE 'filters' => [ // default NULL // 'PHPSESSID' and '_csrf' parameters should not be transferred to airbrake [ 'class' => biller\phpbrake\ParamsFilter::class, 'params' => ['PHPSESSID', '_csrf'], ], ], ], ], ];
带有星号标记的配置选项是必需的,所有其他选项都是可选的。
rootDirectory
:应设置为您的源根目录,以便缩短文件路径httpClient
:指定要使用的HTTP客户端类型,可以配置为AirbrakeService::CLIENT_DEFAULT
AirbrakeService::CLIENT_GUZZLE
AirbrakeService::CLIENT_CURL
setGlobalInstance
:如果设置为true
,则当前实例将设置为全局实例setErrorHandler
:如果设置为true
,则当前实例将设置为PHP运行时未处理的异常处理程序filters
:提供通知预处理的调用数组
有关API的更多信息,请参阅官方Airbrake PHP库文档。
AirbrakeFilterFactory
一个可以用来创建各种过滤规则的工厂类。
AirbrakeFilterFactory::createParamsFilter(array $params, $replacement = 'FILTERED')
此方法将创建一个过滤调用,该调用通过$params
过滤参数,并用指定的$replacement
替换它。示例用法见上面。
控制台支持
可以将集成添加到Yii控制台,其中它当前提供了一个命令来跟踪部署(Airbrake API 4的新功能,允许标记错误时间线中的部署)。
使用
要使用ConsoleController
,应将AirbrakeService
配置为组件。
import enscope\Yii2\Ext\Airbrake\ConsoleController;
return [
// ...
'controllerMap' => [
// ...
'airbrake' => [
'class' => ConsoleController::class,
'airbrakeService' => [component-name], // default "airbrakeService"
],
],
];
虽然参数可以硬编码在配置中,但控制台控制器支持通过命令行参数设置inferParameters
、username
、revision
和repository
参数。
airbrakeService
:组件名称或初始化实例inferParameters
:如果为TRUE,则使用exec()
调用发现repository
和revision
revision
:修订标识符,如果启用推断,则通过git rev-parse HEAD
发现repository
:仓库标识符,如果启用推断,则通过git remote get-url origin
发现username
:跟踪部署的用户名称(默认“system”)
日志目标
您可以配置Yii2日志记录器以自动将错误记录到Airbrake服务。
使用
要使用ConsoleController
,应将AirbrakeService
配置为组件。
return [ 'components' => [ 'log' => [ 'targets' => [ [ 'class' => biller\phpbrake\AirbrakeTarget::class, 'levels' => ['error'], ], ], ], ], ];
当前目标不公开任何其他配置选项,除了由yii\log\Target
公开的选项之外,还包括服务组件
airbrakeService
:组件名称或初始化实例
许可
Yii2 Airbrake集成根据MIT许可(MIT)许可,原始PHP Airbrake库也是如此,并遵循该库的版本。