您的位置:首页 > 编程语言 > Java开发

[Java学习从零开始] 之Log4j学习

2012-10-17 12:43 543 查看
很早就听说过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

log4j.rootLogger=DEBUG,A1,A2,A3,A4

###  system.out  ###
log4j.appender.A2 =org.apache.log4j.ConsoleAppender
log4j.appender.A2.Threshold=DEBUG
log4j.appender.A2.Target=System.out
###log4j.appender.A2.encoding=UTF-8
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n

### file debug ###
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File = ../logs/run/DServerDebug.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
###log4j.appender.A1.MaxFileSize=100MB
log4j.appender.A1.encoding=UTF-8
log4j.appender.A1.Append = true
log4j.appender.A1.Threshold = DEBUG
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n

### file INFO ###
log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A3.File = ../logs/run/DServerINFO.log
log4j.appender.A3.DatePattern='.'yyyy-MM-dd
###log4j.appender.A3.MaxFileSize=10MB
log4j.appender.A3.encoding=UTF-8
log4j.appender.A3.Append = true
log4j.appender.A3.Threshold = INFO
log4j.appender.A3.layout = org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n

### file ERROR ###
log4j.appender.A4 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.File = ../logs/run/DServerERROR.log
log4j.appender.A4.DatePattern='.'yyyy-MM-dd
###log4j.appender.A4.MaxFileSize=100MB
log4j.appender.A4.encoding=UTF-8
log4j.appender.A4.Append = true
log4j.appender.A4.Threshold = ERROR
log4j.appender.A4.layout = org.apache.log4j.PatternLayout
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的配置

  

<!-- 开始 Log4j Servlet配置 -->
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>application.Log4jInit</servlet-class><!--log4j初始化servlet类的包路径-->
<init-param>
<param-name>log4j</param-name>
<param-value>C:\Program Files\apache-tomcat-6.0.35\word\log4j.properties</param-value><!--log4j配置文件路径-->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--结束 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);


  这样就可以完成日志的记录了。

  参考文章:/article/4945951.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: