2010-09-08 76 views
0

conversionPattern更改使用我的Grails應用一個標準的log4j的配置,這樣的自定義轉換模式:如預期..用好conversionPattern ......但只有的Grails在運行時

log4j = { 
appenders { 
     console name:'stdout', layout:pattern(conversionPattern: '[%-7p][%d{dd/MM/yyyy HH:mm:ss,SSS}] %C %m%n') 
    } 

root { 
warn 'stdout' 
additivity = true 
} 

error 'org.grails.plugins.springsecurity' 

error 'org.codehaus.groovy.grails.web.servlet' // controllers 
// ... 

warn 'org.mortbay.log', 
'org.apache.tomcat', 
'org.apache.tomcat.util.digester' 

debug 'grails.app' 

} 

我的Grails應用程序啓動在幾個日誌行...終於回退到默認的grails conversionPattern ...: -/

任何想法?

回答

0

我沒有在Grails中編碼,但我知道log4j很好。

從表面上看,您似乎需要檢查那些未按預期格式化的行。很有可能,它們不會被使用您的stdout appender的記錄器捕獲。

從我能拼湊起來,它看起來像我也許您的警告記錄器是唯一一個使用您的標準輸出appender。意義除了警告以外的任何內容都不會按預期格式化。此外,您的庫中的記錄器還可能捕獲一些日誌語句,但不會記錄其他語句。


基本上解決了這個最好的方法是修改您的模式,讓您在您的記錄儀很好的信息(我建議更換%C模式,這是執行速度很慢,與%C看記錄器使用的確切類別)。然後,看看正確格式化和其他一切之間的區別。

  • 他們有一個共同的水平(信息,調試,錯誤等)?
  • 它們源於同一包嗎?
  • 他們是第三方庫調用?

找出它們有什麼共同點,你會發現你的錯誤。