鍍金池/ 教程/ Java/ Logging 級別
Logging 級別
使用文件記錄日志
PatternLayout
安裝
使用數(shù)據(jù)庫記錄日志
示例程序
架構
Logging 方法
HTMLLayout
概述
配置
日志格式

Logging 級別

org.apache.Log4j.Level 類定義了日志級別,您可通過繼承 Level 類定制自己的級別。

級別 描述
ALL 所有級別,包括定制級別。
DEBUG 指明細致的事件信息,對調試應用最有用。
ERROR 指明錯誤事件,但應用可能還能繼續(xù)運行。
FATAL 指明非常嚴重的錯誤事件,可能會導致應用終止執(zhí)行。
INFO 指明描述信息,從粗粒度上描述了應用運行過程。
OFF 最高級別,用于關閉日志。
TRACE 比 DEBUG 級別的粒度更細。
WARN 指明潛在的有害狀況。

級別是如何工作的?

在一個級別為 q 的 logger 對象中,一個級別為 p 的日志請求在 p >= q 的情況下是開啟的。該規(guī)則是 Log4j 的核心,它假設級別是有序的。對于標準級別,其順序為:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF。

下面的例子展示了如何過濾 DEBUG 和 INFO 級別的日志。改程序使用 logger 對象的 setLevel(Level.X) 方法設置期望的日志級別:

該例子會打印出除過 DEBUG 和 INFO 級別外的所有信息:

import org.apache.Log4j.*;

public class LogClass {
   private static org.apache.Log4j.Logger log = Logger.getLogger(LogClass.class);

   public static void main(String[] args) {
      log.setLevel(Level.WARN);

      log.trace("Trace Message!");
      log.debug("Debug Message!");
      log.info("Info Message!");
      log.warn("Warn Message!");
      log.error("Error Message!");
      log.fatal("Fatal Message!");
   }
}

編譯并運行 LogClass,會產生如下輸出:

Warn Message!
Error Message!
Fatal Message!

使用配置文件設置日志級別

Log4j 提供了基于配置文件設置日志級別的功能,當您需要改變調試級別時,不用再去修改代碼了。

下面這個例子和上面那個例子功能一樣,不過不用使用 setLevel(Level.WARN) 方法,只需修改配置文件:

# Define the root logger with appender file
log = /usr/home/Log4j
Log4j.rootLogger = WARN, FILE

# Define the file appender
Log4j.appender.FILE=org.apache.Log4j.FileAppender
Log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
Log4j.appender.FILE.layout=org.apache.Log4j.PatternLayout
Log4j.appender.FILE.layout.conversionPattern=%m%n

現(xiàn)在使用如下程序:

import org.apache.Log4j.*;

public class LogClass {

   private static org.apache.Log4j.Logger log = Logger.getLogger(LogClass.class);

   public static void main(String[] args) {

      log.trace("Trace Message!");
      log.debug("Debug Message!");
      log.info("Info Message!");
      log.warn("Warn Message!");
      log.error("Error Message!");
      log.fatal("Fatal Message!");
   }
}

編譯并運行如下程序,會在 /usr/home/Log4j/log.out 文件內生成如下內容:

Warn Message!
Error Message!
Fatal Message!
上一篇:配置下一篇:架構