1. 程式人生 > >javaWeb 專案 之 log4j1 的配置 簡單例項

javaWeb 專案 之 log4j1 的配置 簡單例項

以前敲程式碼都是在使用System.out.println(......);感覺太L了。學習了一下log4j1,並且進行了一個簡單的專案測試,在此記錄下來,以免忘記。同時也希望給剛剛入門的小夥伴提供一些經驗。

首先:

新建JAVA WEB專案

建立一個工具類和一個servlet,servlet中使用到工具類。如下圖:

說明:我的工具類是plus.java,我的servlet是TestLog4j.java

下面是plus.java和TestLog4j.java的原始碼

【plus.java】

package com.zjt;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class plus extends HttpServlet {

	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println(TestLog4j.Hello());
	}

}

【TestLog4j.java】
package com.zjt;
import org.apache.log4j.Logger;

public class TestLog4j {
	public static Logger logger = Logger.getLogger(TestLog4j.class); 
	
	public static int Hello() {
		// TODO Auto-generated method stub
		logger.debug("debug ");
		logger.fatal("fatal ");
		logger.info("asas");
		int i = 1+1 ;
		logger.error("error "); 
		return i ;
	}

}

以上是javaweb的最基礎的東西,在此就不再贅述。

相信大家已經注意到了TestLog4j.java中的logger了,沒錯,這就是列印日誌的關鍵物件。

接下來我們講log4j的配置,只有配置好了,程式才不會報錯。

配置開始:

一:

下載jar包並且匯入lib下,現在log4j2已結出來了,使用方式和1有著較大不同,我這裡使用的是1,我使用的是 直接google jar 的名稱即可下載。

二:

src根目錄下建立配置檔案,如圖。配置檔案內容為:

###設定###
log4j.rootLogger = debug , console , I , D , E , F

### 輸出資訊到控制擡 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} Console:%m - %l %n

### 輸出DEBUG 級別以上的日誌到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m - %l %n

### 輸出ERROR 級別以上的日誌到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E\://logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m - %l %n

### 輸出INFO 級別以上的日誌到=E://logs/info.log ###
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File =E\://logs/info.log 
log4j.appender.I.Append = true
log4j.appender.I.Threshold = INFO 
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m - %l %n

### 輸出FATAL 級別以上的日誌到=E://logs/fatal.log ###
log4j.appender.F = org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.File =E\://logs/fatal.log 
log4j.appender.F.Append = true
log4j.appender.F.Threshold = FATAL 
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m - %l %n
至此,執行專案。在瀏覽器位址列輸入:http://127.0.0.1:8080/Log4jTest/plus,可以看到控制檯列印如下資訊:



前往E盤,會發現多了一個logs資料夾,下面有四個日誌檔案(如下圖):