ConversionPattern 配置位于log.xml中奠货,將日志輸出元素按照指定格式輸出眨攘。
Conversion:變換迹冤,轉(zhuǎn)變匿垄。ConversionPattern:轉(zhuǎn)換格式移宅。
<appender name = "consoleAppender" class = "org.apache.log4j.ConsoleAppender">
<param name = "Threshold" value = "DEBUG"/>
<layout class = "org.apache.log4j.PatternLayout" >
<param name = "ConversionPattern" value = "[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
</layout>
</appender>
appender:附加器,把文檔輸出在哪里椿疗,控臺(tái)漏峰、文件都可以,注意后面緊跟的class文件
org.apache.log4j.DailyRollingFileAppender
org.apache.log4j.ConsoleAppender
Threshold:閾值届榄,日志輸出的級(jí)別 DEBUG<INFO<WARN<ERROR<FATAL
layout:輸出格式:重要參數(shù)就是ConversionPattern浅乔,其中就包含今天所要說的重點(diǎn)。
ConversionPattern格式怎么寫铝条,其中字母的含義是什么靖苇?
%p就是輸出該條消息的級(jí)別,DEBUG\INFO\WARN\ERROR\FATAL。
%d: 輸出日志時(shí)間點(diǎn)的日期或時(shí)間班缰,默認(rèn)格式為ISO8601贤壁,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS}埠忘,輸出類似:2011-10-18 22:10:28,921
%r: 輸出自應(yīng)用啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù)
%c: 輸出日志信息所屬的類目芯砸,通常就是所在類的全名
%t: 輸出產(chǎn)生該日志事件的線程名
%l: 輸出日志事件的發(fā)生位置萧芙,相當(dāng)于%C.%M(%F:%L)的組合,包括類目名、發(fā)生的線程假丧,以及在代碼中的行數(shù)双揪。
%x: 輸出和當(dāng)前線程相關(guān)聯(lián)的NDC(嵌套診斷環(huán)境),尤其用到像java servlets這樣的多客戶多線程的應(yīng)用中。
%%: 輸出一個(gè)"%"字符
%F: 輸出日志消息產(chǎn)生時(shí)所在的文件名稱
%L: 輸出代碼中的行號(hào)
%m: 輸出代碼中指定的消息,產(chǎn)生的日志具體信息
%n: 輸出一個(gè)回車換行符包帚,Windows平臺(tái)為"\r\n"渔期,Unix平臺(tái)為"\n"輸出日志信息換行
可以在%與模式字符之間加上修飾符來控制其最小寬度、最大寬度渴邦、和文本的對(duì)齊方式疯趟。如:
1)%20c:指定輸出category的名稱,最小的寬度是20谋梭,如果category的名稱小于20的話信峻,默認(rèn)的情況下右對(duì)齊。
2)%-20c:指定輸出category的名稱瓮床,最小的寬度是20盹舞,如果category的名稱小于20的話,"-"號(hào)指定左對(duì)齊隘庄。
3)%.30c:指定輸出category的名稱踢步,最大的寬度是30,如果category的名稱大于30的話丑掺,就會(huì)將左邊多出的字符截掉获印,但小于30的話也不會(huì)有空格。
4)%20.30c:如果category的名稱小于20就補(bǔ)空格街州,并且右對(duì)齊兼丰,如果其名稱長(zhǎng)于30字符,就從左邊交遠(yuǎn)銷出的字符截掉