kelemen/errbit-php

PHP的Errbit & Airbrake客户端

1.0.1 2014-04-10 08:47 UTC

This package is auto-updated.

Last update: 2024-09-18 00:41:04 UTC


README

这是一个功能齐全的客户端,可以将Errbit(或Airbrake)的集成添加到任何PHP >= 5.3的应用程序中。

我们对php-airbrake-notifier客户端有一些问题,因此我们基于实际的airbrake gem编写了此代码。

php-airbrake-notifier客户端会定期尝试向Airbrake服务发送无效的XML,并且完全不与Errbit(免费的自托管Airbrake兼容应用程序)一起工作。

安装

我们没有将其放入PEAR或其他任何东西中(请随时贡献),因此您需要本地安装它。

git clone git://github.com/flippa/errbit-php.git

Composer

只需将以下行添加到您的composer.json文件的require部分

"flippa-official/errbit-php": "dev-master"

如果您使用上面的行,您就不需要再要求任何内容,所有内容将通过composer-autoloader自动加载

使用

使用通知器的预期方式是作为单例,尽管这不是强制的,如果您出于某种奇怪的原因需要,或者单例一词让您泪流满面,您也可以创建多个实例。

require_once 'errbit-php/lib/Errbit.php';

Errbit::instance()
  ->configure(array(
    'api_key'           => 'YOUR API KEY',
    'host'              => 'YOUR ERRBIT HOST, OR api.airbrake.io FOR AIRBRAKE',
    'port'              => 80,                                   // optional
    'secure'            => false,                                // optional
    'project_root'      => '/your/project/root',                 // optional
    'environment_name'  => 'production',                         // optional
    'params_filters'    => array('/password/', '/card_number/'), // optional
    'backtrace_filters' => array('#/some/long/path#' => '')      // optional
  ))
  ->start();

这将安装错误处理器,捕获您的PHP错误(根据您的error_reporting设置)并将它们记录到Errbit。

如果您想手动通知一个异常,可以调用notify()。

try {
  somethingErrorProne();
} catch (Exception $e) {
  Errbit::instance()->notify(
    $e,
    array('controller'=>'UsersController', 'action'=>'show')
  );
}

使用您自己的错误处理器

如果您不想让Errbit安装其自己的错误处理器而希望使用您自己的,只需省略对start()的调用,然后在您捕获异常的地方(注意错误必须转换为异常)简单地调用

Errbit::instance()->notify($exception);

仅使用一些默认处理器

Errbit安装了三个错误处理器:异常、错误和致命。

默认情况下,所有三个都被使用。如果您想为某些处理器使用您自己的,但不为其他处理器使用,请将列表传递给start()方法。

Errbit::instance()->start(array('error', 'fatal')); // using our own exception handler

待办事项

一些测试会很棒。

许可证 & 版权

版权© Flippa.com Pty. Ltd. 根据MIT许可证授权。有关详细信息,请参阅LICENSE文件。