log4j範例程式


前面我們已經看到了如何建立一個組態檔案。本教學將講解如何生成偵錯資訊和紀錄檔在一個簡單的文字檔案。

下面是我們的例子中建立了一個簡單的組態檔案。這裡再重複一次:

  • 下載最新的Log4j庫:http://logging.apache.org/log4j/2.x/download.html
  • 根記錄器的級別定義為DEBUG並連線appender命名為FILE。

  • appender FILE檔案被定義為 org.apache.log4j.FileAppender 並寫入到一個名為“log.out”位於 log 目錄下。

  • 定義的布局模式是 %m%n,這意味著列印紀錄檔訊息之後自動加上一個換行符。

所以 log4j.properties 檔案的內容如下:

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, 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

在Java程式中使用log4j:

下面的Java類是一個非常簡單的例子,Java應用程式初始化,然後使用Log4J紀錄檔庫。

import org.apache.log4j.Logger;

import java.io.*;
import java.sql.SQLException;
import java.util.*;

public class log4jExample{
  /* Get actual class name to be printed on */
  static Logger log = Logger.getLogger(
                      log4jExample.class.getName());

  public static void main(String[] args)
                throws IOException,SQLException{
   
     log.debug("Hello this is an debug message");
     log.info("Hello this is an info message");
  }
}

編譯和執行:

下面是步驟編譯並執行上述程式。確保在進行編譯和執行之前,適當地設定PATH和CLASSPATH。

所有的庫應該在 CLASSPATH 和 log4j.properties  檔案應該在PATH可用。所以,做到以下幾點:

  • 建立log4j.properties如上圖所示。

  • 建立log4jExample.java如上圖所示,並對其進行編譯。

  • 執行log4jExample二進位制執行程式。

在裡面 /usr/home/log4j/log.out 檔案會得到下面的結果:

Hello this is an debug message
Hello this is an info message