log4j Logger方法


Logger類提供了多種方法來處理紀錄檔活動。 Logger類不允許範例化一個新的記錄器範例,但它提供了兩個靜態方法獲得一個 Logger 物件:

  • public static Logger getRootLogger();

  • public static Logger getLogger(String name);

此處兩種方法的第一個返回應用程式範例根記錄器並沒有名字。任何其他命名的Logger物件範例是通過第二種方法通過記錄器的名稱獲得。記錄器名稱是可以傳遞任何字串,通常是類或包的名稱,因為我們已經使用在最後一章。

static Logger log = Logger.getLogger(log4jExample.class.getName());

Logging 方法:

我們得到了一個名為記錄器的範例之後,可以使用記錄的幾種方法來記錄訊息。 Logger類有專門用於列印紀錄檔資訊下面的方法如下。

SN 方法及描述
1 public void debug(Object message)
這種方法列印使用 Level.DEBUG 訊息級別
2 public void error(Object message)
這種方法列印使用 Level.ERROR 訊息級別
3 public void fatal(Object message);
這種方法列印使用 Level.FATAL 訊息級別
4 public void info(Object message);
這種方法列印使用 Level.INFO 訊息級別
5 public void warn(Object message);
這種方法列印使用 Level.WARN 訊息級別
6 public void trace(Object message);
這種方法列印使用Level.TRACE訊息級別

所有的級別定義在org.apache.log4j.Level類中,並且任何上述方法都可以呼叫如下:

import org.apache.log4j.Logger;

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!");
   }
}

當編譯並執行LogClass程式會產生以下結果:

Debug Message!
Info Message!
Warn Message!
Error Message!
Fatal Message!

所有的偵錯訊息更有意義,當它們在級別組合使用。級別將在下一章介紹,那麼在下一節會有一個很好的理解及如何使用這些方法在不同的級別偵錯。