2013-02-15 77 views
0

我已經使用Eclipse創建了一個java項目。在那個項目中我使用了log4j.properties文件。在某些情況下,項目中,我喜歡如何從log4j.properties文件中獲取選擇性日誌

logger.debug("This is from debug"); 
logger.info("This is from Info"); 

我的日誌文件中的語句是

# Set root category priority to INFO and its only appender to CONSOLE. 
#log4j.rootCategory=INFO, CONSOLE 
#log4j.rootCategory=INFO, CONSOLE, LOGFILE 

# Set the enterprise logger category to FATAL and its only appender to CONSOLE. 
log4j.logger.org.apache.axis.enterprise=DEBUG, stdout 

# Root logger option 
log4j.rootLogger=DEBUG,stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Threshold=DEBUG 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x – %m%n 

現在,當我運行該項目,我把所有的日誌語句。對於前。我使用的石英計時器在我的項目,所以當我運行程序我得到了Quartz的默認之類的語句

16 [main] INFO org.quartz.core.QuartzScheduler ? Quartz Scheduler v.2.1.4 created. 

但我只想要自定義的日誌報表,我寫i.e.Statements。 如何得到它?

回答

0

如果您只需要自定義日誌語句,請關閉rootLogger並配置自定義日誌記錄,例如

log4j.rootLogger=OFF 
log4j.logger.com.mycompany=DEBUG, CONSOLE 
+0

我在日誌文件中添加了兩行以上的內容。但現在我沒有在控制檯上獲得任何單個日誌語句。 – prachi 2013-02-15 10:31:50

+0

log4j.logger.com.mycompany = DEBUG,CONSOLE表示Logger.getLogger(「com.mycompany」)。debug(「test」);將在控制檯上打印。嘗試一下。 – 2013-02-15 10:40:08

+0

謝謝,我得到了我的答案。 – prachi 2013-02-15 11:46:35

0

您可以實現一流水平的伐木工人如下

log4j.logger.package.classes.classOne = INFO,LOGFILE

請確保您刪除其他的log4j鍵(或意見),這樣只有你的登錄

+0

不知道怎麼說年代,但配置了屬性文件與XML的配置,你還可以配置一個記錄器「prachi」,並在你的代碼會是這樣記錄儀prachLog = Logger.getLogger(「prachi」); prachLog.info(「日誌prachi的東西。」);你可以在幾個類中獲得該記錄器。 – Fildor 2013-02-15 09:15:34

0

您可以爲您的包和類的記錄明確如下

log4j.logger.com.mycompany=INFO 
log4j.logger.com.mycompany.MyClass=DEBUG 
相關問題