配置 Grails 以邮件发送生产环境中生成的所有异常

发布于 2024-08-09 08:08:22 字数 276 浏览 2 评论 0原文

问:

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

值得注意:

Question:

  • How do I configure Grails to send an e-mail with all log4j error messages (including exceptions) generated in the production environment?

Worth noting:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贱人配狗天长地久 2024-08-16 08:08:22

解决方案是将以下内容添加到 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
  }
  ...
}

另外将 sun-javamail.jar 和activation.jar 添加到 lib/-folder。

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

The solution is to add the following to the log4j-section of Config.groovy:

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
  }
  ...
}

Plus adding sun-javamail.jar and activation.jar to the lib/-folder.

This configuration has been tested and it works as intended.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文