2009-11-03 52 views

回答

7

的解决方案是将以下添加到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。

此配置已经过测试,并且按预期工作。

+1

太棒了,适合我(grails 2.0.4) – malachay