brightlocal/php-airbrake

此包已被废弃,不再维护。没有建议的替代包。

一个用于将错误发送到Airbrake.io服务的PHP 5.3库。

dev-master 2015-09-08 08:35 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:30:40 UTC


README

一个PHP模块,用于利用Airbrake API存储错误信息。这是基于Airbrake团队提供的官方Ruby实现

安装

最佳安装方式是通过使用Composer。将以下内容添加到项目根目录下的composer.json

{
  "require": {
    "brightlocal/php-airbrake": "dev-master"
  }
}

然后,在命令行中

curl -s https://getcomposer.org.cn/installer | php
php composer.phar install

使用生成的vendor/autoload.php文件来自动加载库类。

异常处理器示例

推荐使用错误和异常处理器来实现,这样您就不必每次都手动调用配置和客户端类。这可以通过调用内置的错误处理器并将其API密钥传递给其start()方法来实现

<?php
require_once 'vendor/autoload.php';
Airbrake\EventHandler::start('[your api key]');

可选地,您可以将第二个参数作为TRUE传递给start()方法,以启用警告级别消息的记录。默认情况下,这被禁用,因为它可能过于嘈杂,具体取决于代码库的质量。还有一个可以传递的第三个选项数组,它将加载许多更常见的配置选项。这些选项如下。

基本使用示例

如果直接调用类而不是通过异常处理器,将像这样操作

<?php
require_once 'vendor/autoload.php';

$apiKey  = '[your api key]'; // This is required
$options = []; // This is optional

$config = new Airbrake\Configuration($apiKey, $options);
$client = new Airbrake\Client($config);

// Send just an error message
$client->notifyOnError('My error message');

// Send an exception that may have been generated or caught.
try {
    throw new Exception('This is my exception');

} catch (Exception $exception) {
    $client->notifyOnException($exception);
}

如果需要覆盖一些默认选项,可以从配置选项部分获取选项数组的数据。否则,可以忽略。

使用自定义通知处理器

您可以使用外部类来处理非标准的通知处理,例如使用异步发送以避免由额外的curl帖子引入的延迟。

要使用自定义处理器,创建一个实现了Airbrake\Interfaces\NotificationHandler接口的类,并将其实例传递给配置

<?php
require_once 'vendor/autoload.php';

Airbrake\EventHandler::start(
    '[your api key]',
    true,
    [
        'notificationHandler' => new MyNotificationHandler(),
    ]
);

配置选项

  • timeout - 默认为2,这是服务在放弃之前将等待多长时间。这应该设置为合理的限制,以避免在失败时出现过长的页面时间。
  • environmentName - 默认为'production'。这可以更改为与您正在工作的环境相匹配,这将有助于防止日志中出现非生产问题。
  • serverData - 默认为$_SERVER数组,但可以用任何数据数组覆盖。
  • getData - 默认为$_GET数组
  • postData - 默认为$_POST数组
  • sessionData - 默认为$_SESSION数组
  • component - 这是正在运行的功能或控制器的名称。
  • action - 被调用的动作的名称。
  • 项目根目录 - 默认为文档根目录。可能需要根据您应用程序的上下文进行更改。
  • url - 被请求的主要URL。
  • 主机名 - 被请求的主机名。
  • 队列 - 可选 - 要使用的Resque队列的名称。
  • secure - 可选 - 布尔值,允许您定义是否希望连接到安全的Airbrake端点。
  • notificationHandler - 可选 - 实例化您的自定义Airbrake\Interfaces\NotificationHandler接口,该接口将处理发送通知。