【问题标题】:How to configure grails app to write logs, stack traces, and errors to a specific file如何配置 grails 应用程序以将日志、堆栈跟踪和错误写入特定文件
【发布时间】:2014-09-26 17:15:19
【问题描述】:

我希望我的 grails 应用程序将所有调试、堆栈跟踪、未捕获的错误(500 秒等)记录到 tomcat 中的特定文件 myapp.log。目前一切都被记录到catalina.out。这是不可取的,因为可能在 Tomcat 实例上部署了其他应用程序。

我的配置看起来像这样。我正在使用 grails 2.2.4

log4j = {
    appenders {
        console name: "stdout", layout: pattern(conversionPattern: "%c{2} %m%n")
    }

    root {
        info "stdout"
    }

    debug "com.myapp.mypackage",
          "grails.app.controllers.com.myapp.mycontrollers"
}

【问题讨论】:

    标签: tomcat grails log4j


    【解决方案1】:

    我会将它放在environments 块中,以确保它仅适用于生产环境。您可以在appenders 部分轻松添加文件附加程序,Grails 文档展示了如何将其配置为滚动附加程序以每天创建新文件,或者一旦文件达到最大大小等。“附加”附加到root 级别代替console 附加器:

    environments {
       production {
          log4j = {
             appenders {
                console name: "stdout",
                        layout: pattern(conversionPattern: "%c{2} %m%n")
    
                file name: 'mylog',
                     file: '/var/logs/mylog.log',
                     layout: pattern(conversionPattern: "%c{2} %m%n")
             }
    
             root {
                info "mylog"
             }
    
             debug "com.myapp.mypackage",
                   "grails.app.controllers.com.myapp.mycontrollers"
    
          }
       }
    }
    

    使用 Log4j DSL 配置日志记录非常令人困惑,但文档解释了很多并且有很多有用的示例:http://grails.org/doc/latest/guide/conf.html#logging

    【讨论】:

      猜你喜欢
      • 2014-01-17
      • 2021-03-18
      • 2017-03-08
      • 2011-09-27
      • 2013-03-25
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2015-10-16
      相关资源
      最近更新 更多