很早就聽說過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
並可參考這段代碼

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