我正在使用grails mail plugin在我的应用程序控制器中发送电子邮件。工作正常。现在,我想通过电子邮件发送错误日志。我已经为此blog post http://burtbeckwith.com/blog/?p=74创建了一个自定义log4j追加器。
但是当我尝试使用mailService.sendMail
时,它说mailService
为空。然后,我尝试在mailService
中添加resources.groovy
bean。但它仍然为空。
在我的自定义附加程序中。
MailService mailService
protected void append(LoggingEvent loggingEvent) {
if (!loggingEvent.getLevel().isGreaterOrEqual(Level.WARN)) {
return;
}
loggingEvent.getThreadName();
loggingEvent.getNDC();
loggingEvent.getMDCCopy();
def errorRecipient = "test-email@gmail.com"
def errorMessage = layout.format(loggingEvent)
mailService?.sendMail {
to errorRecipient
subject "Error test"
html errorMessage
}
}
在我的resources.groovy
中beans = {
smtpErrorAppender(SmtpErrorAppender) {
mailService = ref('mailService')
}
}
为什么它仍然为null或我可以通过其他方式向错误日志发送电子邮件?
Grails version: 2.4.3