log4j.logger.test.board=debug, A1
#避免讓rootLogger也有重複的輸出, 要加入這一行
log4j.additivity.test.board=false
#設定logger "test.board"顯示在哪種裝置上
log4j.appender.A1=org.apache.log4j.ConsoleAppender
#設定logger "test.board"顯示訊息的格式
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p [%t] (%F:%L) - %m%n
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
"Log4j的關鍵之處在于它的繼承思想。也就是一個Log可以繼承另外一個Log的屬性(輸出到哪里,日誌等級,日誌格式等等)。怎麼繼承?
Log4j是根據Log的名字來判斷繼承關係的,比如:
名字為“com.zhlmmc.lib”的Log就是“com.zhlmmc.lib.log”的parent,明白了吧!Log4j還有一個rootLogger,相當於Java的Object。回過頭來看“LogFactory.getLog(Test.class)”這裏的“Test.class”事實上傳進去的是Test這個類的完整路徑(包名+類名),“test.Test”。這樣如果存在“test”這個Log那麼Test這個Log就繼承它,否則就繼承rootLogger。"
沒有留言:
張貼留言