很早就听说过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