frank-houweling/zend-airbrake

为 Zend Framework 3 (ZF3) 的 Airbrake (phpbrake) 集成

1.0.1 2017-07-26 08:43 UTC

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 本地配置,还可以为不同的环境使用不同的连接设置或不同的过滤器。