使用log4j通过SMTPAppender发送电子邮件报告
我正在尝试使用log4j发送包含来自后台进程的日志记录语句的电子邮件报告。我希望为每个进程运行发送一封电子邮件,而不是为每个日志记录语句发送一封电子邮件。我已经查看了 ,但看不到在过程完成时手动发送报告的方法。我相信这可能是关键,但我遇到的一个问题是如何获得实例的句柄。我坚持使用log4j 1.2.14,该方法在1.2.15中引入。有什么想法吗?我是否走在正确的轨道上?这种方法在这里起作用了吗?SMTPAppender
TriggeringEventEvaluator
TriggeringEventEvaluator
SMTPAppender.getEvaluator()
SMTPAppender.close()
我希望能够做到这一点:
log.info(message1);
log.info(message2);
log.info(message3);
log.sendMail();
在进一步思考这个问题之后,我想我需要澄清我希望完成什么。我正在尝试从运行 quartz 作业中捕获日志记录,并将生成的日志作为电子邮件发送。Quartz 作业将一堆服务方法调用到各种服务中。我希望包括这些服务方法执行的任何日志记录以及石英作业本身的日志记录。我以为我可以做类似下面的事情来捕获所有日志记录,但它不起作用。
// at the beginning of quartz job
Logger logger = Logger.getRootLogger();
StringWriter sw = new StringWriter();
WriterAppender wa = new WriterAppender(new SimpleLayout(), sw);
logger.addAppender(wa);
// at the end of the quartz job
String report = sw.toString();