我在log4j
发送通知电子邮件时遇到问题。
我的 log4j.properties
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=ERROR
log4j.appender.MAIL.BufferSize=512
log4j.appender.MAIL.SMTPHost=10.10.10.10
log4j.appender.MAIL.From=team@domain.com
log4j.appender.MAIL.Subject=Subject Here
log4j.appender.MAIL.To=team@domain.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n
该程序在尝试发送和发送电子邮件时导致错误,因此我进行了log.error()
测试。
我测试了下面的代码,但它仍然没有发送电子邮件。
public static void main(String[] args) {
log.error("Error ");
}
当我Thread.sleep
在上面的代码中添加一个。有用!
public static void main(String[] args) throws Exception{
log.error("Error ");
Thread.sleep(1000000L);
}
问题是main thread
退出,因此导致mail sending thread
终止。所以我决定将程序更改为等待(不退出),直到 log4j 完全发送邮件。但我不知道如何在 log4j 中获取邮件发送状态。
任何帮助将不胜感激。