4
- 如何配置Grails的发送一封电子邮件,在生产环境中产生的所有的log4j错误信息(包括例外)?
值得注意:
- 这个问题涉及Grails的1.1时,solution for Grails 1.0 is described here。
值得注意:
的解决方案是将以下添加到Config.groovy中的log4j的截面:
log4j = {
...
appenders {
console name:'stdout', layout:pattern(conversionPattern: '[%r] %c{2} %m%n')
if (grails.util.Environment.current == grails.util.Environment.PRODUCTION) {
def patternLayout = new org.apache.log4j.PatternLayout()
patternLayout.setConversionPattern("[%r] %c{2} %m%n")
def mailAppender = new org.apache.log4j.net.SMTPAppender()
mailAppender.setFrom("[email protected]")
mailAppender.setTo("[email protected]")
mailAppender.setSubject("An log4j error has been generated in the production environment")
mailAppender.setSMTPHost("your-smtp-host")
mailAppender.setLayout(patternLayout)
appender name:'mail', mailAppender
}
}
root {
error 'stdout', 'mail'
additivity = true
}
...
}
加加入太阳javamail.jar和activation.jar到lib/-folder。
此配置已经过测试,并且按预期工作。
太棒了,适合我(grails 2.0.4) – malachay