2013-09-30 22 views
0

我已經很簡單的任務:寫的所有事件(警告及以上)主日誌和某些記錄寫入調試信息只向第二個日誌文件(警告和以上必須記錄到主)。有時候,我希望看到在主要的日誌調試消息以及(如log4j.logger.com.test =調試)的Log4j:有條件的可加(或根據病情傳播事件給根記錄?)

此外,我必須使用log4j屬性文件的語法。我不明白,在這種情況下,可加性(請參見我的最後一行)可以是有條件的,還是應該對任務使用完全不同的方法(哪一個?)。

我已經爲現在:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.EnhancedPatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] %c:%L - %m%n 

log4j.rootLogger=warn, stdout 

log4j.appender.file2=org.apache.log4j.RollingFileAppender 
log4j.appender.file2.maxFileSize=10240KB 
log4j.appender.file2.maxBackupIndex=30 
log4j.appender.file2.File=${catalina.home}/logs/test.log 
log4j.appender.file2.encoding=UTF-8 
log4j.appender.file2.layout=org.apache.log4j.PatternLayout 
log4j.appender.file2.layout.ConversionPattern=%d %-5p [%t] %c:%L - %m%n 
log4j.logger.org.hibernate = debug, file2 
log4j.additivity.org.hibernate = false 

log4j.logger.com.test=debug 
+0

你log4j2標記,但log4j2甚至不支持log4j.properties,所以我不明白你怎麼想到用對log4j.properties。 log4j2只支持json和xml配置文件。 – eis

回答

0

我建議你看一下Log4J2作爲log4j1.x不再是積極維護(和Log4J2具有其他幾個優點類似的性能改進)。

最常用的情況是寫作調試及更高版本(信息,警告,錯誤,致命),以文件爲開發者和警告及以上(警告,錯誤是致命的)到另一個文件,例如支持。

從你的描述,它聽起來就像你想限制輸出調試級別,並排除信息,警告,錯誤和致命級的消息。這是可能的,但不像上述用例那樣直截了當。 你可能需要使用過濾器: http://logging.apache.org/log4j/2.x/manual/filters.html 看看過濾器的文檔,我去看看我能挖了一個例子。

+0

Log4J2仍處於測試階段。期待生產準備階段(至少RC)。 – FoxyBOA

+0

下一個版本將是2.0 GA或RC1。 –