justbetter/laravel-error-logger

此包的最新版本(2.4.2)没有可用的许可证信息。

一种简单的方法来记录错误,并支持Laravel Nova。

安装: 11,561

依赖者: 2

建议者: 0

安全: 0

星标: 4

关注者: 4

分支: 1

公开问题: 0

类型:laravel-package

2.4.2 2024-07-01 12:24 UTC

README

此包提供了一个方便的方法来记录应用程序中发生的错误。您可以将一个任务添加到调度器中,以便通过例如Slack等方式接收关于报告错误的每日通知。

还提供了对Laravel Nova的支持,您可以使用 justbetter/nova-error-logger 包查看报告错误的列表。

请注意,此包不会自动保存Laravel或PHP抛出的异常 - 您必须像以下文档中所示手动保存它们。

设置

为了使用此包,需要执行以下操作。

发布

发布包的配置。

php artisan vendor:publish --provider="JustBetter\ErrorLogger\ServiceProvider"

迁移

运行迁移。

php artisan migrate

调度器

注意! 这不是必须的,使用此包不需要它。

在您的 App\Console\Kernel.php 中,您可以添加每日错误通知任务,如下所示

use JustBetter\ErrorLogger\Jobs\ErrorNotificationJob;

$schedule->job(ErrorNotificationJob::class)->dailyAt('09:00');

配置

将以下变量添加到您的 .env 中,以定义如果启用了任务,则用于每日通知的日志通道。

LARAVEL_ERROR_NOTIFICATION_CHANNEL=slack

命令

日志表可能会很快累积。为了修剪旧记录,您可以使用以下命令

php artisan laravel-error-logger:prune --all
php artisan laravel-error-logger:prune --hours=720

要自动修剪日志,您可能想要将此命令添加到您的调度器中。

示例用法

重要! 当使用 withChannel 方法时,将直接在保存时发送通知。

错误类可以轻松使用。无需设置任何值即可保存日志。

use JustBetter\ErrorLogger\Models\Error;

Error::log()
    ->withGroup('Magento')
    ->withMessage('Something went wrong!')
    ->withDetails('Extra information of this log!')
    ->withThrowable($exception)
    ->withChannel('slack')
    ->withModel($model)
    ->save();

FromThrowable 方法

您还可以使用 fromThrowable 方法。此函数接受一个 Throwable,与 withThrowable 相比,自动设置以下额外属性

  • withDetails
  • withCode

仍然可以在链接到异常之后覆盖这些值。

分组

错误将自动分组。在配置中,您可以为此设置一个间隔。如果您不想分组,可以调用 dontGroup()

隐藏索引

您可以通过调用 hideFromIndex() 将错误从索引中隐藏。

模型关系

当使用 withModel 方法时,您可以检索特定模型的错误。\JustBetter\ErrorLogger\Traits\HasErrors 特性包含此关系,名称为 errors()

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件