我想通过log4j在java应用程序中发送邮件通知。不过,第一次尝试用配置好的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.我错过了必要的情报吗?
发布于 2016-06-22 13:09:16
SMTPAppender可以使用xml或属性文件进行配置,也可以使用setter手动配置。当您使用setter时,您需要通过调用函数activateOptions来激活这些选项,否则您将得到"ERROR message对象未配置“消息。这是为了确保这些选项只有在设置了所有相关选项后才会生效(例如,在设置端口之前,不希望主机设置生效)。
来自:https://community.oracle.com/thread/1758275?start=0&tstart=0
https://stackoverflow.com/questions/37964783
复制相似问题