yaro/log-envelope

Laravel 5 错误邮件

1.10.0 2023-08-14 07:12 UTC

README

Laravel 5-9 包,用于将错误记录到您的电子邮件、Telegram、Slack 和数据库!

Scrutinizer Code Quality Build Status Total Downloads

安装

您可以通过 Composer 安装此包。

composer require yaro/log-envelope

您必须安装此服务提供者。将其设置为列表中的第一个提供者。

// config/app.php
'providers' => [
    // make this very first provider
    // so fatal exceptions can be catchable by envelope
    Yaro\LogEnvelope\ServiceProvider::class,
    //...
];

然后使用 artisan 发布该包的配置和迁移文件。

php artisan vendor:publish --provider="Yaro\LogEnvelope\ServiceProvider"

更改异常处理器的 report 方法,如以下所示(默认为 /app/Exceptions/Handler.php):

//...
public function report(Exception $e)
{
    $res = parent::report($e);
    
    \LogEnvelope::send($e);
    //...
    
    return $res; 
}
//...

根据您的需求更改配置 yaro.log-envelope.php。您可以选择将错误记录到数据库或将它们发送到电子邮件/Telegram/Slack。电子邮件是首选的,因为它们包含更多的调试信息,例如堆栈跟踪。

有一个 censored_fields 选项,如果字段名称在这个数组中,则将任何字段值更改为 *****。例如,默认情况下,它将更改名为 password 的字段的值。

还有一个 force_config 选项,您可以使用它来定义覆盖 LogEnvelope 执行的配置。例如,如果您使用某些 SMTP 发送邮件并排队,您可以更改配置以立即发送 LogEnvelope 电子邮件而不是通过 SMTP。

'force_config' => [
    'mail.driver' => 'sendmail',
    'queue.default' => 'sync',
],

待办事项

  • 在电子邮件中突出显示堆栈跟踪
  • 包含数据库日志的页面

结果

类似这样的内容,以及其他调试信息。

电子邮件

results

Slack

results

Telegram

results

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 LICENSE