frank-houweling / zend-airbrake
为 Zend Framework 3 (ZF3) 的 Airbrake (phpbrake) 集成
Requires
- php: ^7.0
- airbrake/phpbrake: ^0.3
This package is auto-updated.
Last update: 2024-09-29 05:14:35 UTC
README
通过向下兼容 2.5.x 或更高版本,为 Zend Framework 3 (ZF3) 或 Zend Framework 2 (ZF2) 提供Airbrake (phpbrake) 集成。
Airbrake 是一款捕获和跟踪您的应用程序异常的工具。此库将您的 Zend 应用程序连接到 Airbrake,从而实现异常跟踪。您还可以使用支持 Airbrake 协议的不同服务(如 CodebaseHQ)与 Zend Airbrake 一起使用。
安装
使用 composer 安装此模块。
composer require frank-houweling/zend-airbrake
在 composer 安装后,请确保已将 \FrankHouweling\ZendAirbrake 模块添加到模块配置中。在大多数情况下,模块配置可在 config/module.config.php
中找到。
连接配置
要连接到 Airbrake 实例,需要正确设置连接设置。这些可以在本地 Zend 配置中设置(config/autoload/local.php
)。
<?php return [ 'zend_airbrake' => [ 'connection' => [ 'projectId' => YOUR_PROJECT_ID, 'projectKey' => YOUR_PROJECT_KEY, 'host' => YOUR_AIRBRAKE_HOST ] ] ];
自定义 airbrake 过滤器
可以定义自定义过滤器以向 airbrake 通知添加额外参数或修改上下文信息。
编写自定义 airbrake 过滤器
自定义 airbrake 过滤器可以是需要通知数组作为参数的函数(如 https://github.com/airbrake/phpbrake),或实现 FilterInterface 的类(推荐)。
例如
<?php use \FrankHouweling\ZendAirbrake\Filter\FilterInterface; class HelloWorldFilter implements FilterInterface { public function __invoke($notice) { $notice['params']['hello'] = 'world'; return $notice; } }
为了确保过滤器被 Zend Airbrake 使用,它应被添加到配置中。
<?php return [ 'zend_airbrake' => [ // Your connections string etc. 'filters' => [ HelloWorldFilter::class ] ] ];
您可以使用工厂为您的 Zend Airbrake 过滤器。要使用此功能,只需将过滤器添加到服务管理器配置中。
禁用开发环境中的 airbrake
您可能想要在开发环境中禁用 airbrake。为此,您可以使用本地 zend 配置,并将 log_errors
配置选项设置为 false。
例如,文件:config/autload/local.php
<?php return [ // Your connections string, filters etc. 'zend_airbrake' => [ 'log_errors' => false ] ];
通过 zend 本地配置,还可以为不同的环境使用不同的连接设置或不同的过滤器。