honeybadger-io/nova-honeybadger

此包已弃用且不再维护。未建议替代包。

在 Laravel Nova 中显示 Honeybadger 错误。

v0.0.1 2018-09-21 18:36 UTC

README

此包显示 Laravel Nova 中的资源错误 Honeybadger。默认情况下,它显示每个用户在您的 Laravel 应用中遇到的全部异常。

screenshot

通过 自定义上下文搜索字符串,您可以显示任何资源的错误。

安装

您可以通过 composer 将此包安装到使用 Nova 的 Laravel 应用中

composer require honeybadger-io/nova-honeybadger

接下来,在您的 config/services.php 文件中定义您的 Honeybadger 项目 ID 和 认证令牌,如下所示

'honeybadger' => [
    'auth_token' => env('HONEYBADGER_AUTH_TOKEN'),
    'project_id' => env('HONEYBADGER_PROJECT_ID')
]

您可以从 Honeybadger 项目的 URL 中获取您的项目 ID

https://app.honeybadger.io/projects/[ID]/faults

您的认证令牌在您的 Honeybadger 个人资料页面 上可用(注意:这与您的项目的 API 密钥不同)。

使用方法

要显示与特定 Nova 资源关联的 Honeybadger 错误,您需要将 Honeybadger 资源工具添加到您的资源中。

要显示与特定 Laravel 用户关联的所有错误,只需将资源工具添加到您的用户资源的 fields 方法中即可。

例如,在您的 app/Nova/User.php 文件中

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        // Your other fields

        new \HoneybadgerIo\NovaHoneybadger\Honeybadger,

    ];
}

这将自动在 Honeybadger 中搜索具有资源用户 ID 的错误。

注意:请确保您还配置 Honeybadger 以在 Laravel 中识别用户

使用资源属性定义自定义上下文

如果您想搜索不同的上下文键/值对,您可以使用 fromContextKeyAndAttribute 方法创建资源工具。这将告诉 Honeybadger 搜索特定的上下文属性,并使用资源的列作为值。

例如,让我们使用资源的电子邮件属性来过滤我们的 Honeybadger 错误

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        // Your other fields

        \HoneybadgerIo\NovaHoneybadger\Honeybadger::fromContextKeyAndAttribute('context.user.email', 'email'),

    ];
}

定义自定义上下文

要使用自定义上下文键和静态值搜索您的 Honeybadger 错误,您可以使用 fromContextKeyAndValue 方法。它的工作方式与 withContextKeyAndAttribute 相似,但将使用第二个参数作为静态字符串,而不是将其作为资源属性查找。

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        // Your other fields

        \HoneybadgerIo\NovaHoneybadger\Honeybadger::fromContextKeyAndAttribute('context.user.email', 'static.value@honeybadger.io'),

    ];
}

自定义搜索字符串

要完全控制您的Honeybadger搜索字符串,您可以使用资源工具中的fromSearchString方法。这允许您定义一个完全自定义的搜索字符串,该字符串将用于查找您的Honeybadger错误。

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        // Your other fields

        \HoneybadgerIo\NovaHoneybadger\Honeybadger::fromSearchString('-tag:wip -tag:pending environment:"production"'),

    ];
}

如果您只想将自定义搜索字符串追加到上下文属性中,您可以结合使用其他方法中的withSearchString方法。

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        // Your other fields

        (new \HoneybadgerIo\NovaHoneybadger\Honeybadger)->withSearchString('-environment:"production"'),

    ];
}

测试

composer test

更新日志

请参阅更新日志了解最近更改了什么。

贡献

请参阅贡献指南了解详细信息。

鸣谢

许可

MIT许可(MIT)。请参阅许可文件了解更多信息。