我試圖阻止應用程序日誌消息也出去到STDOUT也。Log4J日誌消息正在記錄到應用程序日誌和stdout for grails應用程序
我有記錄如下配置:
log4j = {
appenders {
rollingFile name: 'applog', file: "${System.properties.getProperty('catalina.base')}${File.separator}logs${File.separator}application.log".toString(), layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p%c{1} - %m%n'), maxFileSize: '1MB'
file name: 'stacktrace', file: "${System.properties.getProperty('catalina.base')}${File.separator}logs${File.separator}stacktrace.out".toString(), layout: pattern(conversionPattern: '%c{2} %m%n')
console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
}
error stacktrace: "StackTrace"
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'
info 'grails.app'
root {
info applog
error 'stdout'
additivity=false
}
}
被輸出在我的應用程序文件中的記錄都很好。問題是catalina.out重複每行。我不希望catalina.out增長太多。我只想在catalina.out中只有WARN和以上。我該怎麼做呢?
更新:我更新了上述問題。之前我曾表示這些消息在卡塔利納州記錄了兩次。我想出瞭如何解決這個問題。但是,它仍會記錄一次我不想要的信息。我只需要WARN消息。
更新2:我想我知道這個問題,但我不知道如何解決它。 catalina.out日誌文件沒有通過上面的配置進行配置。在默認的catalina.sh啓動腳本中,所有標準輸出都寫入catalina.out文件。所以我正在寫入appLog
的日誌消息也被寫入stdout
。所以真正的問題是,基於上述配置文件,爲什麼我的appLog的內容也被輸出到stdout
。
我把更多的信息在問題上 – Tihom 2011-01-24 18:16:01