標籤:java 日誌 log4j 日誌配置 日誌死結
在log4j 1.x的版本中,我們想將日誌輸出的檔案中,需要很複雜的配置。這點已經在2.0的版本中得到了大大的改善。
簡單的配置,以及靈活的應用,已經成為了一種趨勢。不管我們以追加的形式寫記錄檔,還是覆蓋的形式,配置他們都是小菜。
還有比如記錄檔大小自動分割,自動備份,無死結,高效能等等。更令人欣喜的是,它支援json格式的配置,載入快,輕巧,非同步讀寫。
好吧,來看它的使用吧。
看設定檔log4j2.xml代碼:
<?xml version="1.0" encoding="UTF-8"?><Configuration> <Appenders> <!-- 配置日誌輸出檔案名字 追加讀寫 --> <File name="A1" fileName="A1.log" append="true"> <!-- 輸出格式 --> <PatternLayout pattern="%t %-5p %c{2} - %m%n"/> </File> <!-- 輸出到控制台的配置 --> <Console name="STDOUT" target="SYSTEM_OUT"> <!-- 輸出格式 --> <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> </Console> </Appenders> <Loggers> <!-- 記錄器輸出檔案為debug層級 --> <!-- 根 控制台輸出層級 --> <Root level="debug"> <AppenderRef ref="A1"/> <AppenderRef ref="STDOUT"/> </Root> </Loggers></Configuration>
測試代碼:
package com.herman.log4j2.test;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;/** * @see log4j 2.0 簡單的配置使用一個檔案Appender * @author Herman.Xiong * @date 2014年7月21日 14:32:55 */public class Test1 {/** * 配置記錄層級為debug,輸出位置為控制台和檔案 */private static Logger log = LogManager.getLogger(Test0.class);public static void main(String[] args) {log.trace("trace");log.debug("debug");log.info("info");log.warn("warn");log.error("error");log.fatal("fatal");}}歡迎大家關注我的個人部落格!!!!
如有不懂,疑問或者欠妥的地方,請加QQ群:135430763 進行反饋,共同學習!
Log4j 2.0在開發中的進階使用詳解—配置簡單的檔案輸出(四)