holidaypirates / bugsnag-lumen
Bugsnag 通知器,适用于 Lumen 应用程序。
Requires
- php: >=5.3.0
- bugsnag/bugsnag: ~3
- illuminate/support: 5.*
This package is auto-updated.
Last update: 2024-09-19 22:19:50 UTC
README
Lumen Bugsnag 通知器可让您立即了解 Lumen PHP 应用程序中的错误和异常。(基于 Laravel 的包 https://github.com/holidaypirates/bugsnag-lumen)
Bugsnag 实时捕获您的 Web、移动和桌面应用程序中的错误,帮助您尽快了解并解决它们。 创建免费账户 开始捕获应用程序中的错误。
安装方法
-
安装
holidaypirates/bugsnag-lumen
包$ composer require "holidaypirates/bugsnag-lumen:1.*"
-
更新
bootstrap/app.php
以激活 Bugsnag# Copy config/bugsnag.php from package to project config, change vaules and register config file in `bootstrap/app.php` $app->configure('bugsnag');
# Add `BugsnagLumenServiceProvider` to the `bootstrap/app.php` $app->register('HolidayPirates\BugsnagLumen\BugsnagLumenServiceProvider')
-
从
App/Exceptions/Handler.php
使用 Bugsnag 异常处理程序。# DELETE this line use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
# ADD this line instead use HolidayPirates\BugsnagLumen\BugsnagExceptionHandler as ExceptionHandler
此更改后,您的文件应如下所示
<?php namespace App\Exceptions; use Exception; use HolidayPirates\BugsnagLumen\BugsnagExceptionHandler as ExceptionHandler; class Handler extends ExceptionHandler { ... }
配置
-
创建一个包含您的 API 密钥的文件
config/bugsnag.php
-
配置您的
api_key
<?php # config/bugsnag.php return array( 'api_key' => 'YOUR-API-KEY-HERE' );
-
可选地,您可以将
notify_release_stages
键添加到上述文件中,以定义哪些 Laravel 环境将向 Bugsnag 发送异常。return array( 'api_key' => 'YOUR-API-KEY-HERE', 'notify_release_stages' => ['production', 'staging'] );
使用异常发送自定义数据
通常,发送有关您的应用程序的附加元数据(例如,有关当前登录用户的任何错误或异常),有助于调试问题。
要发送自定义数据,您应定义一个 before-notify 函数,将包含自定义数据的 "tabs" 数组添加到 $metaData 参数中。例如
app('bugsnag')->setBeforeNotifyFunction("before_bugsnag_notify"); function before_bugsnag_notify($error) { // Do any custom error handling here // Also add some meta data to each error $error->setMetaData(array( "user" => array( "name" => "James", "email" => "james@example.com" ) )); }
有关更多信息,请参阅 bugsnag-php
库的 setBeforeNotifyFunction 文档。
发送自定义错误或非致命异常
您可以通过调用 app('bugsnag')->notifyException
来轻松地让 Bugsnag 了解非致命或捕获的异常。
app('bugsnag')->notifyException(new Exception("Something bad happened"));
您还可以使用 Bugsnag::notifyError
向 Bugsnag 发送自定义错误。
app('bugsnag')->notifyError("ErrorType", "Something bad happened here too");
这两个函数都可以传递一个可选的 $metaData
参数,该参数应采用以下格式
$metaData = array( "user" => array( "name" => "James", "email" => "james@example.com" ) );
错误报告级别
默认情况下,我们将使用您的 php.ini
中 error_reporting
的值或您使用 error_reporting(...)
函数在运行时设置的任何值。
如果您想向 Bugsnag 发送不同级别的错误,可以调用 setErrorReportingLevel
,例如
app('bugsnag')->setErrorReportingLevel(E_ALL & ~E_NOTICE);
附加配置
Bugsnag PHP 客户端 作为 Bugsnag
提供,允许您设置各种配置选项,例如
app('bugsnag')->setReleaseStage("production");
有关完整配置详情,请参阅 Bugsnag Notifier for PHP 文档。
报告错误或功能请求
请在此项目的 GitHub issues 页面上报告任何错误或功能请求