Log4J SMTPAppender Java

时间:2016-06-22 10:03:52

标签: java log4j

我想通过log4j在java应用程序中发送邮件通知。但是第一次尝试使用configurated log4j.properties文件,就像魅力一样。但由于我想要一个在运行时生成的动态主题,我尝试了以下命令,但没有成功:

final static Logger logger = Logger.getRootLogger();

...

public static mail(String msg, String subj) {

   SMTPAppender mailAppend = new SMTPAppender();
   mailAppend.setBufferSize(3);
   mailAppend.setSMTPHost("smtphostname");
   mailAppend.setTo("ex@mple.com");
   mailAppend.setSubject(subj);
   logger.addAppender(mailAppend);
   logger.error(msg);
}

输出:

log4j:ERROR Message object not configured.

所以我错过了一个必要的吸气剂?

1 个答案:

答案 0 :(得分:0)

  

可以使用xml或属性配置SMTPAppender   文件或手动使用setter。当你使用setter时,你需要   通过调用函数activateOptions或激活选项   否则你会收到“ERROR Message object not configured”消息。   这是为了确保选项只有在有效时才会生效   所有相关选项都已设定(例如,人们不希望有   在设置端口之前,主机设置生效。)

FROM:https://community.oracle.com/thread/1758275?start=0&tstart=0