在eclipse中使用log4j

dawn009發表於2015-06-07

在java平臺上寫程式也有點時日,從以前的j2ee到現在的後臺程式,多多少少都用到了log4j來輸出日誌,不過每次用的時候都是別人配好了, 然後告訴我說怎麼用,然後直接呼叫就好,一直對log4j處於一直半解的狀態。今天,憑著要知其然,知其所以然的態度,細細的研究了下log4j。

 

1、在eclipse的使用log4j

 

對於程式設計師來講,最快的方法就是先上手,看到直觀效果在說,所以第一步就是怎麼讓自己的程式能夠在eclipse裡面使用起來。

 

第一步:首先,新建一個工程MinaTest,然後新增package,叫testLog4j,然後加入如下程式碼:

 

package testLog4j;


import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;

public class testLog4j {
    public static void main(String argv[]) {
   
        // Create a logger by the name of class Log4jTest.
        Logger logger = Logger.getLogger(testLog4j .class);

        // Use the default configuration.
        //BasicConfigurator.configure();

        // Set the logger level to Level.INFO
        logger.setLevel(Level.INFO);

        // This request will be disabled since Level.DEBUG < Level.INFO.
        logger.debug("This is debug.");

        // These requests will be enabled.
        logger.info("This is an info.");
        logger.warn("This is a warning.");
        logger.error("This is an error.");
        logger.fatal("This is a fatal error.");
       
        return;
    }
}

第二步:將log4j.jar包加入工程中

上面程式碼寫好以後,在eclipse下是會提示裡有語法錯誤的,因為eclipse不知道到什麼地方import對應的class。在 package explorer中當前工程點右鍵->property->java build path,在tab頁上選擇libraries->ADD JARS,將下載的log4j的jar包新增進來。"ok"之後,你會發現package explorer中當前工程中,除了先前的JRE System Library,還多出來一個Referenced Libraries,裡面就是新增的jar包。clean以後,語法錯誤就沒有了。

這個時候,如果我們之間run as application,會得到如下提示:

 

log4j:WARN No appenders could be found for logger (com.foo).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See for more info.

 

因為程式找不到log4j.properties這一配置檔案。所以,下面就是把這個配置檔案新增到當前的工程中了。

 

第三步:將log4j.properties新增到當前工程中

1) 在當前工程上右鍵。new->folder,在彈出的對話方塊中的"folder name"輸入一個資料夾的名字,這裡用log4j。然後點選"advanced",選中"link to folder in the file system",“browse”一個目錄,一般選當前工程的目錄,然後在輸入關聯的資料夾名,如D:/workspace/MinaTest /log4j。這樣才建立的一個關聯的目錄。接著在package explorer中找到剛剛建立的檔案log4j資料夾,import你定義好的log4j.properties(import的過程省了),如果沒有 現成的,下面這個可做參考:

 


log4j.rootLogger=DEBUG, R, O

# Stdout
log4j.appender.O=org.apache.log4j.ConsoleAppender

# File
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log4j.log

# Control the maximum log file size
log4j.appender.R.MaxFileSize=100KB

# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.O.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n

 

先用著,意思等會在說

 

第四步 編譯

在但前package(testLog4j)單擊右鍵,run as->run configuration,然後在彈出的頁面的tab頁中選擇Classpath,選中當前的工程"MinaTest",然後發現右側 的"Advanced"進入可選狀態,點選以後,會接著彈出一個對話方塊,選擇"Add folders",找到當前的工程,選擇log4j資料夾,然後確定。這樣,我們就把log4j.properties新增到當前工程的class path中了。選擇run。檢視eclipse的console

 

[2010-06-11 19:44:42,523] INFO     0[main] - testLog4j.testLog4j.main(testLog4j.java:24) - This is an info.
[2010-06-11 19:44:42,533] WARN    10[main] - testLog4j.testLog4j.main(testLog4j.java:25) - This is a warning.
[2010-06-11 19:44:42,533]ERROR    10[main] - testLog4j.testLog4j.main(testLog4j.java:26) - This is an error.
[2010-06-11 19:44:42,533]FATAL    10[main] - testLog4j.testLog4j.main(testLog4j.java:27) - This is a fatal error.

 

到此,就可以在eclipse裡面邊寫程式碼邊除錯了。

 

2 log4j.properties各項釋義

 

詳細的釋義可以去看相關的文件,這裡只說格式,幫著入門

Log4J配置檔案的基本格式如下:

 #配置根Logger
log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  …

 

回過頭來看上面

log4j.rootLogger=DEBUG, R, O

這裡R,O是表示兩個appderName,當然,也可以是別的名字

 

在往下,就是對這兩個appender定義不同的屬性

先看 appender O

log4j.appender.O=org.apache.log4j.ConsoleAppender 定義輸出到控制檯

log4j.appender.O.layout=org.apache.log4j.PatternLayout 定義輸出的佈局

log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n 輸出的格式

 

在看 appender R,區別是輸出的地方不一樣

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log4j.log

這的意思是輸出到檔案中

因此,這個程式在當前工程下還存在一個 log4j.log的檔案。

 

簡要介紹,詳細的文件google或者直接看官方文件吧!

出處:http://blog.csdn.net/sunnydogzhou/article/details/5665045

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1690290/,如需轉載,請註明出處,否則將追究法律責任。

相關文章