ingress-it-solutions / bugtrap
Laravel 5 错误通知器
v1.3
2020-01-21 10:11 UTC
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ~6.0
- predis/predis: ~1.0
This package is auto-updated.
Last update: 2024-09-21 21:24:43 UTC
README
BugTrap
Laravel 5 的包,用于将错误记录到 bugtrap.io
安装
您可以通过 Composer 安装此包。
composer require ingress-it-solutions/bugtrap
在 Laravel 5.5 的情况下,您仍然需要手动注册,因为服务提供者必须是首先注册的第一个提供者。
您必须安装此服务提供者。确保这是列表中的第一个提供者。
// config/app.php 'providers' => [ // Make this very first provider BugTrap\ServiceProvider::class, //... //... ];
然后使用 artisan 发布包的配置和迁移文件。
php artisan vendor:publish --provider="BugTrap\ServiceProvider"
然后调整配置文件(config/bugtrap.php),使用您想要的设置。
将以下行添加到您的异常处理器(默认为 /app/Exceptions/Handler.php)的 report 方法中,并添加使用行
use BugTrap\BugTrap; ... public function render(Exception $e, $request) { if ($this->shouldReport($e)) { (new BugTrap)->handle($e, $request); } return parent::report($e); }
用法
剩下要做的就是定义 3 个 ENV 配置变量。
BT_KEY=
BT_PROJECT_KEY=
BT_URL=
BT_KEY 是您的配置文件密钥,它授权您的账户访问 API。BT_PROJECT_KEY 是您在创建项目时收到的项目 API 密钥。BT_PROJECT_KEY 是 Bugtrap 安装的基准 URL。
在 bugtrap.com 获取这些变量
可选
您还可以在生成错误时返回一个特定的视图。这将消除丑陋的 'Whoops something went wrong' 页面。
您只需创建一个视图(500.blade.php),然后返回给用户,建议在 views/errors 目录下。
然后在您的 App\Exceptions\Handler.php 中,在 render 方法内添加以下代码
if (($errorView = (new BugTrap)->errorView()) !== false) { return $errorView; }
确保您在 return parent::render($request, $exception); 代码之前添加此代码。
示例
/** * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request * @param \Exception $exception * @return \Illuminate\Http\Response */ public function render($request, Exception $exception) { ... if (($errorView = (new BugTrap)->errorView()) !== false) { return $errorView; } return parent::render($request, $exception); }
许可证
bugtrap 包是开源软件,许可协议为 MIT