[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

posted @ 2012-10-17 12:43  Love Purple  阅读(6393)  评论(4编辑  收藏  举报