guidofaecke/laminas-airbrake

Laminas 的 Airbrake (phpbrake) 集成

0.2.5 2022-12-03 21:34 UTC

This package is auto-updated.

Last update: 2024-09-30 01:32:44 UTC


README

Laminas 的 Airbrake (phpbrake) 集成。

Airbrake 是一个捕获和跟踪应用程序异常的工具。这个库将 Laminas 应用程序连接到 Airbrake,以实现异常跟踪。还可以使用 Laminas Airbrake 与使用 Airbrake 协议的不同服务一起使用,如 CodebaseHQ。

安装

使用 composer 安装此模块。

composer require guidofaecke/laminas-airbrake

在 composer 安装完成后,请确保 \guidofaecke\LaminasAirbrake 模块已添加到模块配置中。在大多数情况下,模块配置可以在 config/module.config.php 中找到

连接配置

需要正确设置连接设置以连接到 Airbrake 实例。这些可以在本地 Zend 配置中设置(config/autoload/local.php)。

<?php
return [
    'laminas_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 guidofaecke\LaminasAirbrake\Filter\FilterInterface;

class HelloWorldFilter implements FilterInterface
{
    public function __invoke($notice) 
    {
        $notice['params']['hello'] = 'world';
        return $notice;
    }   
}

要确保过滤器被 Laminas Airbrake 使用,它应添加到配置中。

<?php

return [
    'laminas_airbrake' => [
        // Your connections string etc.
        'filters' => [
            HelloWorldFilter::class
        ]
    ]
];

可以使用工厂为您的 Laminas Airbrake 过滤器。要使用此功能,只需将过滤器添加到服务管理器配置中。

在开发环境中禁用 airbrake

您可能希望在开发环境中禁用 airbrake。为此,您可以使用本地 zend 配置,并将 log_errors 配置选项设置为 false。

例如,文件:config/autload/local.php

<?php

return [
    // Your connections string, filters etc.
    'laminas_airbrake' => [
        'log_errors' => false
    ]
];

通过 laminas 本地配置,还可以为不同的环境使用不同的连接设置或不同的过滤器。