2010-12-11 44 views
2

我已經開始學習一些有關的log4j作爲迄今爲止其做工精細這裏距離log4j.property文件問題有關Log4jAppender

# Set root logger level to DEBUG and its only appender to A1. 
log4j.rootLogger=DEBUG, A1,xml 



# A1 is set to be a ConsoleAppender. 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
# A1 uses PatternLayout. 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n 
# ${applicationRoot}/logs/xml.log 
log4j.appender.xml=org.apache.log4j.RollingFileAppender 
log4j.appender.xml.File=G:/TESTGEN/logs/xmlimpex.log 
log4j.appender.xml.MaxFileSize=2MB 
log4j.appender.xml.MaxBackupIndex=2 
log4j.appender.xml.layout = org.apache.log4j.PatternLayout 
log4j.appender.xml.layout.ConversionPattern=%p %t %c - %m%n 

代碼,並在控制檯上其工作完全正常打印,以及記錄到file.I想知道是否有可能做一些如下

我希望我應該能夠在控制檯上記錄什麼這個log4j文件正在做什麼 但在同一時間我希望在日誌文件我已經配置使用RollingFileAppender應該只記錄條目的警告和錯誤。

請建議我我如何可以提前 Umesh製作

回答

1
log4j.rootLogger=DEBUG,A1 
log4j.newlogger=WARN, XML 

Log4j的工作過程是這樣:您可以創建適合在hiearchy在根記錄始終是在頂部的多個記錄器。記錄器可以從父記錄器繼承關卡和appender(如果可加標誌打開)。

在我給你的例子,你創建的新記錄器在WARN水平被觸發。它具有appender XML,但也有A1(它從Root記錄器繼承)。

注意,如果我們沒有設置newLogger的水平,它會繼承水平DEBUG。

Hiearchies在log4j的工作就像在Java包(使用點),並依靠記錄儀的名字。記錄器X是記錄器X.Y的父親,它是記錄器X.Y.Z的父親。記錄器X始終是根記錄器的孩子。

你可以在Log4j introduction

0

做到這一點

感謝log4net的它說的地方,你可以設置哪些級別從附加器可以處理的文件。