php 通过电子邮件或其他方式提醒管理员脚本错误

问题描述

我目前正在捕获这样的脚本错误:

error_reporting(-1) ;
ini_set("log_errors",TRUE) ;
ini_set("error_log","phpErrors.log") ;

但我需要一种更好的机制来报告这些错误,这样我就不必手动查看日志文件以查看是否捕获了某些内容。我读到 error_log 有一个内置的电子邮件功能,如下所示:Send errors message via email using error_log()

在 error_log() 中使用此电子邮件函数是否会干扰记录到日志文件?同样,是否有更好的机制来创建警报(某种类型),这样我就不会被错误电子邮件淹没?我想我使用的任何机制都将是相同级别的警报/电子邮件 - 但我只需要一种比浏览错误日志更好的方式来获得通知。

有什么建议吗?

解决方法

当您调用 error_log 时,它只会执行第二个参数指定的操作,而不是两者或多个。因此,如果您说要发送电子邮件,它不会记录到磁盘。如果第二个参数是位掩码,那就意味着那个时候。我猜这是为了每次都以明确的意图偶尔使用它。

至于“是否有更好的机制?”,这是主观的,并且日志记录有一个临界点,您需要确定什么最适合您和您的项目、工作流程、团队等。

>

就我个人而言,我喜欢 Monolog,它跟在 PSR-3 后面并记录了 8 个级别的日志记录,从调试到紧急情况。使用 Monolog,您可以设置“处理程序”,其工作是处理日志,或者写入磁盘、数据库、系统日志、控制台,或者可能发送电子邮件、SMS 或某些其他第三方服务。每个处理程序都可以设置不同的日志级别,因此您可以将调试和更大的日志记录到磁盘,将错误或更多的错误发送到电子邮件,将紧急情况发送到 SMS。定制完全取决于您。

那里也有其他 PSR-3 记录器,如果您需要一些简单的东西,使用自己的记录器真的很简单,但我鼓励您研究一下一般设置。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...