自定义SMTP附加程序中的Grails邮件插件为空

时间:2018-06-20 19:53:28

标签: email grails groovy log4j grails-plugin

我正在使用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

0 个答案:

没有答案