1. 程式人生 > >log4j.properties的簡單配置和使用

log4j.properties的簡單配置和使用

log4j.properties  // 日誌檔名不能隨便寫, 是properties檔案

1 log4j.rootLogger=INFO, Console  //表示INFO級別 輸出到控制檯
2 #Console
3 log4j.appender.Console=org.apache.log4j.ConsoleAppender
4 log4j.appender.Console.layout=org.apache.log4j.PatternLayout
5 log4j.appender.Console.layout.ConversionPattern=%-5p - %m%n

JAVA 程式碼部分

1 public Test{
2     Logger log  = Logger.getLogger(Test.class)//log.info() 呼叫      
3 }

 需要log4j JAR包

日誌級別和XML檔案的日誌配置 請參考 :http://www.cnblogs.com/bignew/p/6594562.html

 

 

Log4j支援兩種格式的配置檔案:xml和properties;依賴commons-logging包

1、配置根logger

log4j.rootLogger=[level],appenderName,appenderName,......

level可分為OFF、 FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF則不打出任何資訊,優先順序為:error>warn>info>debug,不區分大小寫

可新增子類,例:

log4j.category.org.nutz=INFO, console, nutz

log4j.category.com.gtz=DEBUG, console, gtz

2、配置日誌資訊輸出地Appender

log4j.appender.appenderName = fully.qualified.name.of.appender.class

 

log4j.appender.appenderName.option1 = value1

log4j.appender.appenderName.optionN = valueN

輸出形式有4中:

org.apache.log4j.ConsoleAppender(控制檯)

org.apache.log4j.FileAppender(檔案)

org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌檔案)

org.apache.log4j.RollingFileAppender(檔案大小到達指定尺寸的時候產生一個新的檔案)

可通過 log4j.appender.appenderName.MaxFileSize=100KB設定檔案大小

還可通過 log4j.appender.appenderName.MaxBackupIndex=1設定為儲存一個備份檔案。

org.apache.log4j.WriterAppender(將日誌資訊以流格式傳送到任意指定的地方)

3、配置日誌資訊的格式(佈局)Layout

Layout 負責格式化Appender的輸出,語法為:

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class

log4j.appender.appenderName.layout.option1 = value1

log4j.appender.appenderName.layout.optionN = valueN

其中,Log4j提供的layout有以下幾種:

org.apache.log4j.HTMLLayout(以HTML表格形式佈局)

org.apache.log4j.PatternLayout(可以靈活地指定佈局模式)

org.apache.log4j.SimpleLayout(包含日誌資訊的級別和資訊字串)

org.apache.log4j.TTCCLayout(包含日誌產生的時間、執行緒、類別等等資訊)

4、格式化日誌資訊

log4j.appender.appenderName.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

%m 輸出程式碼中指定的訊息

%p 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL

%r 輸出自應用啟動到輸出該log資訊耗費的毫秒數

%c 輸出所屬的類目,通常就是所在類的全名

%t 輸出產生該日誌事件的執行緒名

%n 輸出一個回車換行符,Windows平臺為“rn”,Unix平臺為“n”

%d 輸出日誌時間點的日期或時間,預設格式為ISO8601,也可以在其後指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921

%l 輸出日誌事件的發生位置,包括類目名、發生的執行緒,以及在程式碼中的行數。

Logger類:完成日誌記錄,設定日誌資訊級別

Appender類:決定日誌去向,終端、DB、硬碟

Layout類:決定日誌輸出的樣式,例如包含當前執行緒、行號、時間