Php 阻止我的记录器向我发送大量消息

Php 阻止我的记录器向我发送大量消息,php,logging,monolog,Php,Logging,Monolog,我在PHP项目中内置了一个Logger(),配置为记录系统事件(info/debug)和错误(error/critical) 我将其设置为,当发生严重错误时,调用两个系统,一个发送邮件,另一个发送短信 现在,如果数据库死亡,将记录一个关键事件,从而发送邮件和sms。但由于该网站可能会吸引一些流量,因此该事件可能会在一分钟内触发几次,甚至在峰值时间每秒触发几次。事实上,可能是针对每个网站的请求 我怎样才能防止这种情况发生,防止短信和邮件泛滥/滥发?我是否应该通过某种限制来修改代码,使相同的错误消息

我在PHP项目中内置了一个Logger(),配置为记录系统事件(info/debug)和错误(error/critical)

我将其设置为,当发生严重错误时,调用两个系统,一个发送邮件,另一个发送短信

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


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

我会使其行为与忽略重复的错误一样,忽略重复的源

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

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