org.apache.log4j日誌級別

智慧先行者發表於2015-07-12

日誌記錄器(Logger)是日誌處理的核心元件。
log4j具有7種級別(Level)。
日誌記錄器(Logger)的可用級別Level (不包括自定義級別 Level)
優先順序從高到低:
OFF、FATAL、
ERROR、WARN、INFO、DEBUG、
TRACE、ALL


OFF
OFF Level是最高等級的,用於關閉所有日誌記錄。

FATAL
FATAL level指出每個嚴重的錯誤事件將會導致應用程式的退出。

ERROR
ERROR level指出雖然發生錯誤事件,但仍然不影響系統的繼續執行。

WARN
WARN level表明會出現潛在錯誤的情形。

INFO
INFO level表明 訊息在粗粒度級別上突出強調應用程式的執行過程。

DEBUG
DEBUG Level指出細粒度資訊事件對除錯應用程式是非常有幫助的。

TRACE
TheTRACELevel designates finer-grained informational events than the DEBUG.Since:1.2.12

ALL
ALL Level是最低等級的,用於開啟所有日誌記錄。

Log4j建議只使用四個級別,優先順序從高到低分別是ERROR、WARN、INFO、DEBUG。
通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的開關。
比如在這裡定義了INFO級別,則應用程式中所有DEBUG級別的日誌資訊將不被列印出來。
程式會列印高於或等於所設定級別的日誌,設定的日誌等級越高,列印出來的日誌就越少。
如果設定級別為INFO,則優先順序高於等於INFO級別(如:INFO、WARN、ERROR)的日誌資訊將可以被輸出,小於該級別的如DEBUG將不會被輸出。

 

Logger - 日誌寫出器 ,供程式設計師輸出日誌資訊
Appender - 日誌目的地 ,把格式化好的日誌資訊輸出到指定的地方去
Layout - 日誌格式化器 ,用來把程式設計師的 logging request 格式化成字串


Log4j 基本使用方法
   Log4j 由三個重要的元件構成:日誌資訊的優先順序,日誌資訊的輸出目的地,日誌資訊的輸出格式 。
配置根 Logger ,其語法為:
 log4j.rootLogger = [ level ] , appenderName, appenderName, …
 其中,只顯示比大於等於當前級別的資訊, level 是日誌記錄的優先順序,分為 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL 或者您定義的級別。 Log4j 建議只使用四個級別 ,優先順序從高到低分別是 ERROR 、 WARN 、 INFO 、 DEBUG 。通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的開關。比如在這裡定 義了 INFO 級別,則應用程式中所有 DEBUG 級別的日誌資訊將不被列印出來 。 appenderName 就是指 B 日誌資訊輸出到哪個地方。您可以同時指定多個輸出目的地。


配置日誌資訊輸出目的地 Appender ,其語法為:
   log4j.appender.appenderName = fully.qualified.name.of.appender.class. 其中, 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 (將日誌資訊以流格式傳送到任意指定的地方)


配置日誌資訊的格式(佈局),其語法為:
  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
  其中, Log4j 提供的 layout :
          1.org.apache.log4j.HTMLLayout (以 HTML 表格形式佈局),
          2.org.apache.log4j.PatternLayout (可以靈活地指定佈局模式),
          3.org.apache.log4j.SimpleLayout (包含日誌資訊的級別和資訊字串),
          4.org.apache.log4j.TTCCLayout (包含日誌產生的時間、執行緒、類別等等資訊)

相關文章