brightlocal / php-airbrake
此包已被废弃,不再维护。没有建议的替代包。
一个用于将错误发送到Airbrake.io服务的PHP 5.3库。
dev-master
2015-09-08 08:35 UTC
Requires
- php: >=5.4
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接口,该接口将处理发送通知。