2014-09-26 31 views
0

我希望我的Grails應用程序來記錄所有(1)調試,堆棧跟蹤,未被捕獲的錯誤(500S等)在Tomcat中記錄到一個特定的文件myapp.log 。目前一切正在記錄到catalina.out。這是不可取的,因爲可能有其他應用程序部署在Tomcat實例上。如何配置的Grails應用程序寫日誌,堆棧跟蹤和錯誤,以一個特定的文件

我的配置是這樣的。我使用的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" 
} 

回答

3

我把這個在environments塊,以確保它僅適用於生產環境。您可以輕鬆地在appenders部分添加一個文件的appender和Grails的文檔顯示瞭如何將其配置爲一個滾動的appender每天創建新文件,或者一旦文件已經達到最大尺寸等「附加」的附加器,以在root水平到位console的appender:

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

相關問題