Log4j入門學習

微笑1. 工作日誌的概念

1) 在應用程序中添加日誌記錄總的來說基於三個目的:

2)監視代碼中變量的變化情況,週期性的記錄到文件 中供其他應用進行統計分析工作;

3) 跟蹤代碼運行時軌跡,作爲日後審計的依據;

4) 擔當集成開發環境中的調試器的作用,向文件或控制檯打印代碼的調試信息.

微笑2. 日誌工具log4j(什麼是log4j)

 Apache是一個開放源代碼項目

1) 控制日誌信息輸送的目的地

2) 控制每一條日誌的輸出格式

3) 定義每一條日誌信息的級別

4) 通過一個配置文件來靈活地進行配置

微笑3.log4j三個組件

1)配置Logger

Logger負責處理日誌記錄的大部分操作.

其語法爲:

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

其中,level是日誌記錄的優先級,分爲OFFFATALERRORWARNINFODEBUGALL

建議只使用四個級別,優先級從高到低分別是ERRORWARNINFODEBUG。通過在這裏定義的級別,可以控制到應用程序中相應級別的日誌信息

的開關

2)配置日誌信息目的地Appender

(1)Appender負責控制日誌記錄操作的輸出

其語法爲:   

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

     Log4j.appender.appenderName.option1 = value1     

     log4j.appender.appenderName.optionN = valueN

(2)log4j提供的Appender有一下幾種

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

2. org.apache.log4j.FileAppender(文件)

3. org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件)

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

5. org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)

3)配置日誌信息輸出格式(佈局)layout

(1)Layout負責格式化Appender的輸出

其語法爲:

     log4j.appender.appenderName.layout                                         

     fully.qualified.name.of.layout.class

     log4j.appender.appenderName.layout.option1 = value1

     appender.appenderName.layout.optionN = valueN

(2)Log4j提供的layout有以下幾種:

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

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

3. org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字符串)

4. org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息)

微笑4.格式化日誌信息打印參數如下:

%m 輸出代碼中指定的消息   

%p 輸出優先級,即DEBUGINFOWARNERRORFATAL

%r 輸出自應用啓動到輸出該log信息耗費的毫秒數

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

%t 輸出產生該日誌事件的線程名

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

%d輸出日誌時間點的日期或時間,默認格式爲ISO8601,也可以在其後指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS}

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

微笑5.配置log4j

5.1.首先新建一個java項目,導入log4j-1.2.8jar包,整個工程目錄如下:

5.2. src同級創建並設置log4j.properties

5.3. 設置日誌內容

5.4. 輸出結果

5.4.1. 首先是控制檯的輸出信息(局部信息展示)

5.4.2. 再來看輸出的文件

5.4.3. 內容如下,發現已按照要求輸出到對應的文檔中去了。

1)以文件的方式輸出

2)根據日期每天輸出一個文件

3)根據文件大小輸出一個文件

4)以HTML的方式輸出

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章