Laravel 5 错误通知器

v1.3 2020-01-21 10:11 UTC

This package is auto-updated.

Last update: 2024-09-21 21:24:43 UTC


README

BugTrap

Laravel 5 的包,用于将错误记录到 bugtrap.io

Software License

安装

您可以通过 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

贡献者