log4j--分路徑儲存日誌

來源:互聯網
上載者:User

內容摘自:http://blog.csdn.net/wiwipetter/article/details/4390579

log4j.properties 使用: http://www.blogjava.net/hwpok/archive/2008/01/16/175711.html


如果在同一類中需要輸出多個記錄檔呢。其實道理是一樣的,先在Test.java中定義:

private static Log logger1 = LogFactory.getLog("myTest1");

private static Log logger2 = LogFactory.getLog("myTest2");


然後在log4j.properties中加入:

log4j.logger.myTest1= DEBUG, test1

log4j.appender.test1=org.apache.log4j.FileAppender

log4j.appender.test1.File=${myweb.root}/WEB-INF/log/test1.log

log4j.appender.test1.layout=org.apache.log4j.PatternLayout

log4j.appender.test1.layout.ConversionPattern=%d %p [%c] - %m%n

  

log4j.logger.myTest2= DEBUG, test2

log4j.appender.test2=org.apache.log4j.FileAppender

log4j.appender.test2.File=${myweb.root}/WEB-INF/log/test2.log

log4j.appender.test2.layout=org.apache.log4j.PatternLayout

log4j.appender.test2.layout.ConversionPattern=%d %p [%c] - %m%n


也就是在用logger時給它一個自訂的名字(如這裡的" myTest1 "),然後在log4j.properties中做出相應配置即可。別忘了不同日誌要使用不同的logger(如輸出到 test1.log 的要用 logger1 .info("abc"))。


還有一個問題,就是這些自訂的日誌預設是同時輸出到log4j.rootLogger所配置的日誌中的,如何能只讓它們輸出到自己指定的日誌中呢。別急,這裡有個開關:

log4j.additivity.myTest1 = false

  它用來設定是否同時輸出到log4j.rootLogger所配置的日誌中,設為false就不會輸出到其它地方啦。注意這裡的"myTest1"是你在程式中給logger起的那個自訂的名字。

如果你說,我只是不想同時輸出這個日誌到log4j.rootLogger所配置的logfile中,stdout裡我還想同時輸出呢。那也好辦,把你的log4j.logger.myTest1 = DEBUG, test1改為下式就OK啦。

log4j.logger.myTest1=DEBUG, test1, stdout


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.