[Java學習從零開始] 之Log4j學習


     很早就聽說過Log4j這個,而且之前在做asp.net項目中也用到過 log4j的.net版本就是 log4net,他是Apache公司的一個開源項目,用來記錄日志,並可以將日志信息記錄到文件,GUI組件以及接口服務器。。。能夠細致地控制日志的生成過程,並且可能通過一個配置文件來配置,非常方便。

     1.首先:下載log4j 下載地址為:http://apache.etoak.com/logging/log4j/1.2.17/log4j-1.2.17.zip

    解壓后將log4j-1.2.17.jar 添加到項目中。如下圖:

      2.在WEB-INF中建立log4j.properties

         並可參考這段代碼    

View Code
 1 log4j.rootLogger=DEBUG,A1,A2,A3,A4
 2 
 3 ###  system.out  ###
 4 log4j.appender.A2 =org.apache.log4j.ConsoleAppender
 5 log4j.appender.A2.Threshold=DEBUG
 6 log4j.appender.A2.Target=System.out
 7 ###log4j.appender.A2.encoding=UTF-8
 8 log4j.appender.A2.layout=org.apache.log4j.PatternLayout
 9 log4j.appender.A2.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
10 
11 ### file debug ###
12 log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender
13 log4j.appender.A1.File = ../logs/run/DServerDebug.log
14 log4j.appender.A1.DatePattern='.'yyyy-MM-dd
15 ###log4j.appender.A1.MaxFileSize=100MB
16 log4j.appender.A1.encoding=UTF-8
17 log4j.appender.A1.Append = true
18 log4j.appender.A1.Threshold = DEBUG
19 log4j.appender.A1.layout = org.apache.log4j.PatternLayout
20 log4j.appender.A1.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
21 
22 ### file INFO ###
23 log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
24 log4j.appender.A3.File = ../logs/run/DServerINFO.log
25 log4j.appender.A3.DatePattern='.'yyyy-MM-dd
26 ###log4j.appender.A3.MaxFileSize=10MB
27 log4j.appender.A3.encoding=UTF-8
28 log4j.appender.A3.Append = true
29 log4j.appender.A3.Threshold = INFO
30 log4j.appender.A3.layout = org.apache.log4j.PatternLayout
31 log4j.appender.A3.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
32 
33 
34 ### file ERROR ###
35 log4j.appender.A4 = org.apache.log4j.DailyRollingFileAppender
36 log4j.appender.A4.File = ../logs/run/DServerERROR.log
37 log4j.appender.A4.DatePattern='.'yyyy-MM-dd
38 ###log4j.appender.A4.MaxFileSize=100MB
39 log4j.appender.A4.encoding=UTF-8
40 log4j.appender.A4.Append = true
41 log4j.appender.A4.Threshold = ERROR
42 log4j.appender.A4.layout = org.apache.log4j.PatternLayout
43 log4j.appender.A4.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n

   可根據不同的項目 修改不同的參數就可以了。 具體參數的作用可參考此文章:http://blog.sina.com.cn/s/blog_7096a4800100pa5c.html

      3.在這里 由於我用的是Servlet 所以在 Web.xml中加入了 Servlet的配置

   

 1     <!-- 開始 Log4j Servlet配置 -->  
 2     <servlet>  
 3         <servlet-name>log4j-init</servlet-name>  
 4         <servlet-class>application.Log4jInit</servlet-class><!--log4j初始化servlet類的包路徑-->  
 5         <init-param>  
 6         <param-name>log4j</param-name>  
 7         <param-value>C:\Program Files\apache-tomcat-6.0.35\word\log4j.properties</param-value><!--log4j配置文件路徑-->  
 8         </init-param>  
 9         <load-on-startup>1</load-on-startup>  
10     </servlet>  
11     <!--結束 Log4j Servlet配置-->

     4.編寫初始化類:log4jInit

       

package application;

import javax.servlet.http.HttpServlet;
import org.apache.log4j.PropertyConfigurator;

/*
 * 	初始化Log4J
 * 
 */

public class Log4jInit extends HttpServlet {
	public void Init()
	{
		String filePath = getInitParameter("log4j");
		System.out.println("日志的配置文件路徑為:"+filePath);
		if(filePath != null)
		{
			PropertyConfigurator.configure(filePath);  //載入配置文件
			System.out.println("日志的配置文件讀取成功");
			
		}
	}
}

  到這里准備工作就結束了 可以使用log4j來進行日志的記錄了。

5.使用 

   在要用的地方

     

static Logger logger = Logger.getLogger(當前類.class);
logger.debug(content);   

  這樣就可以完成日志的記錄了。

  參考文章:http://www.cnblogs.com/licheng/archive/2008/08/23/1274566.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM