emgiezet/errbit-php

errbit/airbrake 与 php 的 psr-2 集成

2.0.2 2024-06-25 08:23 UTC

README

Coverage Status Build Status Dependency Status Latest Stable Version SymfonyInsight Join the chat at https://gitter.im/emgiezet/errbitPHP

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

原始想法和源代码不支持php命名空间。此外,存在一个bug,并且在新版的errbit版本中,xml不支持某些字符。

这是做什么用的?

处理您的错误并将它们传递到名为Errbit的错误保留工具。这是sentry.io或airbrake.io的免费替代品。请查看下面的演示!

Huston whe have an Airbrake

变更日志

查看

[Full change log here] [Releases]

安装

Composer方法

针对php 5.3

require: {
    ...
    "emgiezet/errbit-php": "1.*"
  }

针对php 8.0+

require: {
    ...
    "emgiezet/errbit-php": "2.*"
  }

使用方法

要设置一个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。

如果您想手动通知异常,可以在不调用start()的情况下调用notify()。这样,您可以避免注册处理器。

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集成

请参阅集成文档

Kohana 3.3集成

查看kohana-errbit以获取kohana 3.3集成。

Symfony 1.4集成

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

许可权 & 版权

版权 © mmx3.pl 2013 MIT许可下发布。基于git://github.com/flippa/errbit-php.git的想法,但重写了90%。

贡献者

https://github.com/emgiezet/errbitPHP/graphs/contributors

其他贡献者:作者:emgiezet 贡献者页面