服务端 Laravel 异常日志自动发送到邮件中

更新日期: 2019-03-11 阅读次数: 5426 字数: 327 分类: Laravel

Laravel 没有像 Django 一样内置发送异常邮件的功能,而这个功能非常实用,特别是

  • 服务比较多的情况下,不可能每个服务都去线上查看日志
  • 节假日可以及时接收服务异常信息

环境 Laravel 5.5

具体的代码实现,参考下面的一个链接里的文章。

163 邮箱的配置

.env 配置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=xxx@163.com
MAIL_PASSWORD=xxx
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=xxx@163.com
MAIL_FROM_NAME=xxx

模拟一个异常,会发现异常邮件发送失败,报错信息是

530 5.7.1 Authentication required

清除配置缓存

php artisan config:clear

并重启 php artisan serve

即可

邮箱地址白名单

默认,此类邮件会被默认归类到垃圾邮件中。所以不要忘记把发邮件地址加入到白名单中。

这不是一个很好的解决方案

这种做法有一个非常大的隐患,因为错误日志不是异步发送的,所以在邮件服务不稳定,或者错误信息量大时,会导致业务逻辑阻塞。所以,强烈不推荐这种做法。可以自己写个定时任务,扫描日志,然后异步发送报错邮件。

参考

  • https://laravel-news.com/email-on-error-exceptions

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天工地搬砖,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年02月24日 第三世界青年日
2020年02月24日 龙抬头
2020年02月28日 世界居住条件调查日
2020年03月01日 国际海豹日
2020年03月03日 全国爱耳日
2020年03月05日 学雷锋日
2020年03月05日 惊蛰
2020年03月08日 三八妇女节
2020年03月12日 植树节
2020年03月14日 白色情人节
2020年03月15日 消费者权益日
2020年03月17日 国际航海日
查看更多节日