nkovacs/errbit-php

errbit/airbrake 与 PHP 的高 psr-2 集成

1.0.5 2014-12-03 12:25 UTC

This package is auto-updated.

Last update: 2024-08-25 03:16:59 UTC


README

Coverage Status Build Status Dependency Status Latest Stable Version

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

原始想法和源代码不支持 PHP 命名空间。此外,它有一个错误,并且在新版 Errbit 版本中,xml 不支持某些字符。

它是用来做什么的?

查看下面的演示!

Huston whe have an Airbrake

安装

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

克隆方法

git clone git://github.com/emgiezet/errbitPHP.git

Composer 方法

require: {
    ...
    "emgiezet/errbit-php": "dev-master"
  }

使用方法

要设置 Errbit 实例,您需要使用参数数组进行配置。其中只有两个是必需的。

use Errbit\Errbit;

Errbit::instance()
  ->configure(array(
    'api_key'           => 'YOUR API KEY',
    'host'              => 'YOUR ERRBIT HOST, OR api.airbrake.io FOR AIRBRAKE'
  ))
  ->start();

查看完整的 配置

这将注册错误处理器

set_error_handler();
set_exception_handler();
register_shutdown_function();

并将由处理器拦截的所有错误记录到您的 errbit 中。

如果您想手动通知一个异常,可以调用 notify() 而不调用 start()。这样,您可以避免注册处理器。

use Errbit\Errbit;

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

使用自己的错误处理器

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

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

使用此类型的使用。库将不会处理由

set_error_handler();
register_shutdown_function();

仅使用一些默认处理器

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

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

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

Symfony2 集成

有关 symfony2 集成的说明,请参阅 文档

Kohana 3.3 集成

查看 kohana 3.3 集成的 kohana-errbit

Symfony 1.4 集成

PHP 5.2 中没有命名空间,因此此库无法使用。转到 filipc/sfErrbitPlugin 并监控您的遗留 1.4 应用程序。

许可权 & 版权

版权所有 © mmx3.pl 2013 MIT 许可证下授权。基于 git://github.com/flippa/errbit-php.git 的想法,但重写了 90%。有关详细信息,请参阅 LICENSE 文件。

贡献者

主要想法 @flippa OOP 重构、测试和打包 @emgiezet

其他贡献者: 贡献者页面

Bitdeli Badge