1

我在我的 PHP 项目中构建了一个 Logger ( Monolog ),它被配置为记录系统事件 (info/debug) 以及错误 (error/critical)

我进行了设置,以便在发生严重错误时调用 2 个系统,一个发送邮件,另一个发送短信。

现在,如果数据库死亡,则会记录一个关键事件,因此会发送邮件和短信。但是由于该站点可能会吸引一些流量,因此该事件可能每分钟触发几次,甚至在高峰时间甚至每秒触发一次。实际上可能是针对站点的每个请求。

我怎样才能防止这种情况发生,防止短信和邮件泛滥/发送垃圾邮件?我是否应该通过某种节流来更改我的代码,即在给定的时间跨度内没有发送相同的错误消息(有点难以区分错误类型),我是否应该收集所有错误并每隔几分钟发送一次(速度较慢响应时间)或者是否有系统可以将我的错误发送到它会为我处理这个问题?我正在考虑一个日志收集器的方向,它可以配置为在某些严重性下发送 SMS/邮件,但有某种限制?

4

1 回答 1

0

我会让它的行为与 ignore_repeated_errors 和 ignore_repeated_source http://ca2.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors相同

无需一遍又一遍地通知相同的错误。如果我收到一条短信和一封电子邮件(备份),表明数据库已关闭,那么对于系统管理员来说应该足够了。

如果您必须让它在一两个小时内发送最多 3 次。

于 2012-10-26T14:04:09.827 回答