1、常用标志:
-X: X資訊輸出時左對齊
%p: 輸出日志資訊優先級,即DEBUG,INFO,WARN,ERROR,FATAL,
%d: 輸出日志時間點的日期或時間,預設格式為ISO8601,也可以在其後指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},輸出類似:2011-10-18 22:10:28,921
%r: 輸出自應用啟動到輸出該log資訊耗費的毫秒數
%c: 輸出日志資訊所屬的類目,通常就是所在類的全名
%t: 輸出産生該日志事件的線程名
%l: 輸出日志事件的發生位置,相當于%C.%M(%F:%L)的組合,包括類目名、發生的線程,以及在代碼中的行數。
%x: 輸出和目前線程相關聯的NDC(嵌套診斷環境),尤其用到像java servlets這樣的多客戶多線程的應用中。
%%: 輸出一個"%"字元
%F: 輸出日志消息産生時所在的檔案名稱
%L: 輸出代碼中的行号
%m: 輸出代碼中指定的消息,産生的日志具體資訊
%n: 輸出一個回車換行符,Windows平台為"\r\n",Unix平台為"\n"輸出日志資訊換行
2、可以在%與模式字元之間加上修飾符來控制其最小寬度、最大寬度、和文本的對齊方式。如:
1)%20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小于20的話,預設的情況下右對齊。
2)%-20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小于20的話,"-"号指定左對齊。
3)%.30c:指定輸出category的名稱,最大的寬度是30,如果category的名稱大于30的話,就會将左邊多出的字元截掉,但小于30的話也不會有空格。
4)%20.30c:如果category的名稱小于20就補空格,并且右對齊,如果其名稱長于30字元,就從左邊交遠銷出的字元截掉
3、假設目前logger名字空間是"a.b.c"
%c a.b.c
%c{2} b.c
%20c (若名字空間長度小于20,則左邊用空格填充)
%-20c (若名字空間長度小于20,則右邊用空格填充)
%.30c (若名字空間長度超過30,截去多餘字元)
%20.30c (若名字空間長度小于20,則左邊用空格填充;若名字空間長度超過30,截去多餘字元)
%-20.30c (若名字空間長度小于20,則右邊用空格填充;若名字空間長度超過30,截去多餘字元)
### set log levels ###
log4j.rootLogger = info,stdout , D , E
###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%d{MM-dd HH:mm:ss}] [%p] [%c:%L] %m%n
### 輸出到日志檔案 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ./log/stdout.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = info
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%d{MM-dd HH:mm:ss}] [%p] [%c:%L] %m%n
### 儲存異常資訊到單獨檔案 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ./log/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = [%d{MM-dd HH:mm:ss}] [%p] [%c:%L] %m%n