1. 工作日誌的概念
1) 在應用程序中添加日誌記錄總的來說基於三個目的:
2)監視代碼中變量的變化情況,週期性的記錄到文件 中供其他應用進行統計分析工作;
3) 跟蹤代碼運行時軌跡,作爲日後審計的依據;
4) 擔當集成開發環境中的調試器的作用,向文件或控制檯打印代碼的調試信息.
2. 日誌工具log4j(什麼是log4j)
Apache是一個開放源代碼項目
1) 控制日誌信息輸送的目的地
2) 控制每一條日誌的輸出格式
3) 定義每一條日誌信息的級別
4) 通過一個配置文件來靈活地進行配置
3.log4j三個組件
1)配置Logger
Logger負責處理日誌記錄的大部分操作.
其語法爲:
log4j.rootLogger = [ level ] , appenderName, appenderName,…
其中,level是日誌記錄的優先級,分爲OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL。
建議只使用四個級別,優先級從高到低分別是ERROR、WARN、INFO、DEBUG。通過在這裏定義的級別,可以控制到應用程序中相應級別的日誌信息
的開關
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 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL
%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)根據文件大小輸出一個文件