Log4j ( Log for Java ) 是 Apache 下的一個開源項目,經過 Log4j,能夠將程序運行的信息輸送到指定的目的地。這個目的地能夠是控制檯、文件、郵箱等。
Log4j 支持兩種格式的文件配置,即 properties 和 xml 兩種格式的文件。下面將要介紹的是採用 properties 格式的配置。
apache
① [ 配置日誌級別和輸出源 ]
log4j.rootLogger = 級別,輸出源1,輸出源2 … …
日誌信息優先級別 : ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
經常使用優先級別 : DEBUG < INFO < WARN < ERROR
- DEBUG : 程序的調試信息
- INFO : 程序的通常信息,例如,用戶的登陸、登出,方法執行成功信息等
- WARN : 程序的警告信息
- ERROR : 程序的嚴重錯誤信息,例如,程序的執行拋出異常
Tips : 只有當日志信息的優先級別大於等於配置的日誌信息級別,日誌信息纔會被記錄到日誌。
日誌輸出源 :
- 日誌輸出源的個數能夠是一個,也能夠是多個,多個輸出源的時候,輸出源與輸出源之間用逗號分隔
- 日誌輸出源的名字能夠根據須要,自定義起名xml
② [ 指定輸出源輔助類 ]
log4j.appender.輸出源名稱 = Appender.class
經常使用的 Appender ( 在 log4j-version.jar 的 org.apache.log4j 包下 ) :
1. org.apache.log4j.FileAppender(文件)
2. org.apache.log4j.ConsoleAppender(控制檯)
3. org.apache.log4j.DailyRollingFileAppender(天天產生一個日誌文件)
4. org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)
事件
③ [ 指定輸出源文件存放路徑 ]
log4j.appender.輸出源名稱.file = path ( 日誌具體存放路徑 )
ip
④ [ 指定輸出源文件的格式佈局 ]
log4j.appender.輸出源名稱.layout = Layout.class
經常使用的 Layout ( 在 log4j-version.jar 的 org.apache.log4j 包下 ) :
1. org.apache.log4j.SimpleLayout ( 簡單的佈局方式,含日誌信息的級別和信息 )
2. org.apache.log4j.PatternLayout ( 可自定義的佈局模式 )
3. org.apache.log4j.HTMLLayout ( 以 HTML 方式佈局 )io
⑤ [ 自定義佈局模式,可選 ] log4j.appender.輸出源名稱.layout.conversionPattern %p : 輸出日誌信息優先級,即DEBUG,INFO,WARN,ERROR,FATAL … %d : 輸出日誌時間點的日期或時間,默認格式爲ISO8601,也能夠在其後指定格式,例如:%d{yyy-MMM-dd HH:mm:ss},輸出相似:2012-10-10 12:20:18 %r : 輸出自應用啓動到輸出該log信息耗費的毫秒數 %c : 輸出日誌信息所屬的類,一般就是所在類的全名 %t : 輸出產生該日誌事件的線程名 %l : 輸出日誌事件的發生位置 %x : 輸出和當前線程相關聯的信息 %% : 輸出一個"%"字符 %F : 輸出日誌消息產生時所在的文件名稱 %L : 輸出代碼中的行號 %m : 輸出代碼中指定的消息,產生的日誌具體信息 %n : 換行