2012-02-18 42 views
1

我正在使用Groovy和Log4J。 我不是Log4J的專家,但在搜索很多網站的答案後,我想我有一個配置,應該在「Config.groovy」文件中工作。Groovy和Log4J Config.groovy配置

下面是結果: 我得到控制檯日誌記錄。 但是,名爲「project.log」和「StackTrace.log」的日誌文件是空的。 我還得到另一個創建名爲「StackTrace.log.1」(2KB大小)的文件,其中包含運行應用程序後發佈的異常消息(非嚴重錯誤)。

問題: 爲什麼我沒有在「project.log」和「StackTrace.log」文件中記錄消息? 爲什麼名爲「StackTrace.log.1」的文件被創建並寫入,而不是記錄到「StackTrace.log」文件的堆棧跟蹤消息?

任何幫助或線索,我做錯了將不勝感激。

這裏是我的「Config.groovy中」文件(log4j的部分):

// log4j configuration 
log4j = { 

    // Set default level for all, unless overridden below. 
    root { debug 'stdout', 'file' } 

    // Set level for all application artifacts 
    info "grails.app" 

    error "org.hibernate.SQL", "org.hibernate.type" 

    error 'org.codehaus.groovy.grails.web.servlet', // controllers 
      'org.codehaus.groovy.grails.web.pages', // GSP 
      'org.codehaus.groovy.grails.web.sitemesh', // layouts 
      'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping 
      'org.codehaus.groovy.grails.web.mapping', // URL mapping 
      'org.codehaus.groovy.grails.commons', // core/classloading 
      'org.codehaus.groovy.grails.plugins', // plugins 
      'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration 
      'org.springframework', 
      'org.hibernate', 
      'net.sf.ehcache.hibernate' 

    warn 'org.mortbay.log' 

    appenders { 
     rollingFile name: 'file', file:'project.log', maxFileSize:1024, append: true 
     rollingFile name: 'stacktrace', file: "StackTrace.log", maxFileSize: 1024, append: true 
    } 
} 

回答

0

是有可能,StackTrace.log.1已創建因爲1024maxFileSize已經達到,然後rollingFile

我也將開始刪除那裏列出的所有類名稱,以便在root閉包中定義的debug錯誤級別應用於所有記錄器並從那裏開始工作。