1. 程式人生 > >【SSH三大框架】Struts2基礎第七篇:log4j打印出日誌資訊

【SSH三大框架】Struts2基礎第七篇:log4j打印出日誌資訊

把這個歸於Struts2是不太合適的,因為log4j是一個開源的程式碼專案,不僅僅可以用在Struts2上。

我們介紹一下log4j:通過使用log4j,我們可以把一些資訊輸出到控制檯、文字檔案、html檔案等等中

首先,建立一個java project,我們建立一個lib目錄,然後把log4j-1.2.15.jar或者其它版本的包引入進來並新增到path中去。

然後,我們定義一個簡單的邏輯類UserDao.java

package cn.com;

import org.apache.log4j.Logger;

public class UserDao {
	public static final Logger logger = Logger.getLogger(UserDao.class);
	public void add(){
		logger.debug("這是debug級別");
		logger.info("這是info級別");
		logger.warn("這是warn級別");
		logger.error("這是error級別");
		logger.fatal("這是fatal級別");
	}
}
可以看到,在程式碼中,我們首先是建立了一個Logger物件,並且新增要輸出日誌的類

然後,在src目錄下建立:log4j.properties

log4j.appender.stout=org.apache.log4j.ConsoleAppender
log4j.appender.stout.layout=org.apache.log4j.PatternLayout
log4j.appender.stout.layout.ConversionPattern=[%p][%l]-->%m(%d)%n
log4j.rootLogger=DEBUG,stout

我們分析下上邊操作的步驟:
1、匯入包
2、建立Logger物件
    //public static final Logger logger = Logger.getLogger(UserDao.class);
3、編寫相應的日誌
  /**可以為日誌設定不同的級別,在log4j中:
  	debug<info<warn<error<fatal  **/
  	logger.debug("這是debug級別");
	logger.info("這是info級別");
	logger.warn("這是warn級別");
	logger.error("這是error級別");
	logger.fatal("這是fatal級別");
4、編寫日誌的配置檔案,以此說明日誌的顯示方式和級別(在src目錄下建立log4j.properties檔案)
	4、1    首先建立Append
		log4j.appender.stout=org.apache.log4j.ConsoleAppender
	4、2  說明展示的佈局
		log4j.appender.stout.layout=org.apache.log4j.PatternLayout
		說明用哪種佈局進行展示,常用的是PatternLayout來展示
	4、3 說明通過什麼樣的格式來完成展示
		log4j.appender.stout.layout.ConversionPattern==[%p][%l]-->%m(%d)
		使用的格式是[什麼級別的日誌][日誌的發生地]-->日誌資訊(日誌時間)
5、在什麼時候輸出日誌
	log4j.rootLogger=DEBUG,stout
	rootLogger是根目錄的Logger,每一個專案的classpath就是根目錄,只要執行到輸出日誌的位置,並且日誌的級別大於DEBUG,就會輸出
	
然後,我們建立一個類,用來測試:
package cn.junit;

import cn.com.UserDao;

public class TestLog {
	public static void main(String[] args) {
		UserDao u = new UserDao();
		u.add();
	}
}
執行這個類的main函式,控制檯就會打印出相應的日誌資訊