1
6
根据文档,这样做的方法似乎是编写一个eventevaluator(参见示例4.14和4.15),它查看每个事件的时间戳,以便在自上一个事件被接受以来“足够的时间”已过时仅接受一个事件。 您可以使用system.currenttimemillis获取一个可以进行数学运算的数字来计算时间差。 http://java.sun.com/javase/6/docs/api/java/lang/System.html#currentTimeMillis%28%29 |
2
6
作为Thorbj_rn,创建一个
但是,我发现洛格巴克支持
|
3
2
此工具可以完全按照您的要求运行,但它根本不是线程安全的: http://code.google.com/p/throttled-smtp-appender/wiki/Usage 我写了一个线程安全的版本,但还没有开源。 找不到合适的工具的原因是smtp不是一个真正的端点。使用loggly、airbrake等服务,或者使用logstash之类的工具运行自己的服务器。 |
4
2
看看新的耳语附加器。它能进行智能抑制。通过Maven和Github提供 here 法定免责声明:我是作者。 |
5
1
为了解决同样的问题,我编写了自定义计算器。它扩展了ch.qos.logback.classic.boolex.onmarkerevaluator,但您可以使用任何其他计算器作为基础。如果有许多可接受的消息处于静默状态,则间隔计算器将丢弃这些消息。对于我的用例,这是可以的,但是如果您需要不同的行为-只需在第二个if中添加额外的检查。
} 配置为每1000秒(大约17分钟)最多发送一条消息:
|
6
0
我建议提交一个jira项目请求这个功能。只要有人要求,它就可能得到实施。 |
7
0
顺便说一句, logback v0.9.26现在允许设置smtpappender消息缓冲区的大小。直到昨天,它还将发送缓冲区的当前内容,其中多达256条消息,这让imho很头疼,因为我只想在电子邮件中显示最后一条。因此,根据我对这个问题的解释,现在可以实现周期性重复的电子邮件警告,其中只包含一个特定的错误。 http://logback.qos.ch/manual/appenders.html#cyclicBufferSize 玩得高兴。 |