Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception 配置Grails以邮寄生产环境中生成的所有异常_Exception_Logging_Grails_Log4j - Fatal编程技术网

Exception 配置Grails以邮寄生产环境中生成的所有异常

Exception 配置Grails以邮寄生产环境中生成的所有异常,exception,logging,grails,log4j,Exception,Logging,Grails,Log4j,问题: 如何配置Grails以发送包含生产环境中生成的所有log4j错误消息(包括异常)的电子邮件 值得注意的是: 这个问题与Grails1.1有关,即 解决方案是将以下内容添加到Config.groovy的log4j部分: log4j = { ... appenders { console name:'stdout', layout:pattern(conversionPattern: '[%r] %c{2} %m%n') if (grails.util.Envi

问题:

  • 如何配置Grails以发送包含生产环境中生成的所有log4j错误消息(包括异常)的电子邮件
值得注意的是:

  • 这个问题与Grails1.1有关,即

解决方案是将以下内容添加到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("from@example.com")
      mailAppender.setTo("to@example.com")
      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
  }
  ...
}
再加上将sun-javamail.jar和activation.jar添加到lib/-文件夹

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