Logback SMTPAppender 限制率

2022-09-03 02:12:24

我如何限制Logback SMTPAppender的电子邮件速率,以便它最多每n分钟给我发一次电子邮件?

我已经根据Logback追加器设置了我的日志记录,但我不太明白如何配置或子类化它来实现它。

是否有隐藏的功能?有人开发了一个子类来处理这个问题吗?


答案 1

根据文档,执行此操作的方法是编写一个 EventEvaluator(参见示例 4.14 和 4.15),该评估器查看每个事件的时间戳,以便在自上次接受事件以来经过“足够时间”时才接受事件。

您可以使用 System.currentTimeMillis 获取一个数字,您可以对其进行数学运算以计算时差。http://java.sun.com/javase/6/docs/api/java/lang/System.html#currentTimeMillis%28%29


答案 2

作为Thorbjørn,很容易创建一个限制追加器触发消息的速率的方法。EventEvaluator

但是,我发现Logback支持ReplicateMessageFilter,这可能以一种痛苦的方式解决了我的问题:“DuplicateMessageFilter值得单独演示。此筛选器检测重复消息,并且超过一定数量的重复消息,则会丢弃重复的消息。


推荐