crazyit/laravel-error-mailer

通过邮件报告错误,同时忽略重复的错误。

0.2 2022-06-22 07:39 UTC

This package is auto-updated.

Last update: 2024-09-17 17:22:51 UTC


README

这是一个用于通过电子邮件报告laravel错误的包,具有限流和去重功能。它是adwiv/laravel-error-mailer的分支,与laravel 5.3+兼容。

安装

  1. 使用以下命令通过composer安装此包
composer require crazyit/laravel-error-mailer
  1. 运行迁移来创建error_logs表。
php artisan migrate
  1. 将以下键添加到.env文件中
# Required Key
ERROR_MAILER_TO = "hello@example.com,admin@example.com" # Comma separated list of email addresses
# Optional Keys
ERROR_MAILER_FROM = "errors@example.com" # Mail sender, if not defined defaults to config setting
ERROR_MAILER_REPEAT_AFTER = 300   # Time in seconds for which same error will not be reported again
ERROR_MAILER_HOURLY_LIMIT = 10    # Maximum number of error mails that will be sent in an hour
  1. 配置config/logging.php。该包自动添加了一个名为error-mailer的日志通道。

最简单的方法是将它添加到stack通道。

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['single', 'error-mailer'], #<-- Add here
            'ignore_exceptions' => false,
        ],
        ...
     ],

这就完成了。现在,所有错误都应通过ERROR_MAILER_TO环境选项中列出的所有电子邮件地址报告。

故障排除

如果收不到邮件,请检查以下内容

  1. 邮件发送已正确配置,并且您能够发送其他邮件而没有任何问题。
  2. ERROR_MAILER_TO变量已在.env文件中定义,并且有有效的电子邮件地址(没有空格)
  3. 邮件队列正在正确处理
  4. 检查laravel.log以查找任何报告的问题。