標籤:
一.log4j.properties檔案格式說明:
log4j.rootLogger=info, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller‘s file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
第一行,配置log4j.rootLogger你明白吧。應為它是根,等號後面的第一個參數表示記錄層級,可以填五個層級中的一種,後面的參數都是讓Log知道輸出到哪裡,如果你想讓日誌輸出到兩個地方就加兩個輸出參數,比如:
log4j.rootLogger=info, stdout, file
這裡的info表示,該Log的記錄層級為info,所有層級小於info的日誌都不會被記錄。比如使用這個設定檔的話,我剛開始舉的那個類中
log.debug("Debug info.");
這句話是不起作用的,因為debug的層級小於info。這樣就很容易控制什麼資訊在調試的時候要顯示,什麼資訊在發布的時候要去掉。這些都不用改代碼,很方便吧。
但,stdout和file又是什麼呢?
接著往下看,就是配置stdout了,這個名字是隨便取的,你可以叫它A:
log4j.appender.A=org.apache.log4j.ConsoleAppender
那麼上面的rootLogger的參數stdout也要改成A,其他用到的地方當然也要改。這裡的關鍵不是名字,而是appender類型,比如這裡的“ConsoleAppender”,看明白了吧,輸出到Console。後面兩行都是設定日誌格式的,一般情況下你就照抄吧。
二。配置方面:把log4j的包和commons-logging的包(加在一起才兩個)放到classpath下面。然後把設定檔儲存為log4j.properties,也放在classpath下面(如果用Eclipse的話,放在src目錄下即可)。然後你就可以跑了。
log4j記錄檔配置說明及使用