在log4j的SMTPAppender没有通过电子邮件发送INFO日志条目时遇到了一些麻烦,我想我已经解决了这个问题。但现在我很好奇,如果这是最好的解决方案。我经常根据不同日志文件的输出发送电子邮件。是否有比SMTPAppender更好的解决方案来发送电子邮件?我宁愿不损害我的应用程序的性能,并且电子邮件异步发生。甚至可能每隔5分钟用累计的日志条目发送电子邮件,而不是一次发送一次。
答案 0 :(得分:0)
SMTPAppender的目的是及时通知您有关重要事件的信息,或者至少在发生N个事件时通知您,这就是为什么默认情况下只会寄出ERROR日志。在SMTPAppender类型上还声明了类型为CyclicBuffer的属性cb,在发送之前使用它来控制收集的日志语句的数量。如果应用程序在Linux环境中运行,则使用CRON每5分钟发送一次这些日志语句更为合适。 TaskScheduler可能有助于在Windows平台上实现相同目的。