是否可以缓冲输出到Log4j Mail Appender?

时间:2012-11-07 10:24:52

标签: java email logging log4j

在许多服务应用程序中,log4j与邮件附加程序一起使用..

log4j.rootLogger=ERROR, MAIL
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.BufferSize=1
log4j.appender.MAIL.SMTPHost=smtp.example.com
log4j.appender.MAIL.From=noreply@example.com
log4j.appender.MAIL.To=developer@example.com
log4j.appender.MAIL.Subject=Exception
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5r %-5p [%t] %c{2} - %m%n

..同一类型的几个例外发生的可能性,并且可能持续到问题得到解决的可能性非常高。

有没有办法缓冲输出,以便邮件只在给定的时间间隔内发送?

一个很好的解决方案是对发生的类型和类进行异常分组,但只需附加到本地日志并在定时间隔内发送滚动日志就足够了。这个想法是不会从压力系统收到数百或数千个错误报告,而是及时接收重要信息,然后不要为后续行动而烦恼。

有没有实施TriggeringEventEvaluator的解决方案?

1 个答案:

答案 0 :(得分:2)

你可以尝试这个:https://github.com/reaktor/log4j-email-throttle

简单,但可以正常缓冲。