防止我的记录器充斥着我的消息

时间:2012-10-26 13:56:08

标签: php logging monolog

我在我的PHP项目中内置了一个Logger(Monolog),它被配置为记录系统事件(信息/调试),但也包含错误(错误/严重)

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

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

如何防止这种情况发生,防止使用短信和邮件发送洪水/垃圾邮件?我是否应该通过某种限制来改变我的代码,即在给定的时间内没有发送相同的错误消息(有点难以区分错误类型),我应该收集所有错误并将它们发送出去几分钟(给出更慢)响应时间)或是否有我可以发送错误的系统将为我处理这个问题?我正在考虑一个日志收集器的方向,可以配置为在某些严重性下发送短信/邮件但是有某种限制?

1 个答案:

答案 0 :(得分:0)

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

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

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