zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    D. Babaei and Birthday Cake--- Codeforces Round #343 (Div. 2)
    Vijos P1389婚礼上的小杉
    AIM Tech Round (Div. 2) C. Graph and String
    HDU 5627Clarke and MST
    bzoj 3332 旧试题
    codeforces 842C Ilya And The Tree
    codesforces 671D Roads in Yusland
    Travelling
    codeforces 606C Sorting Railway Cars
    codeforces 651C Watchmen
  • 原文地址:https://www.cnblogs.com/lovepurple/p/2727302.html
Copyright © 2011-2022 走看看