• [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

  • 相关阅读:
    Git 的使用
    state介绍
    salt之pillar组件
    salt之grains组件
    python之commands模块
    install命令
    salt常用模块及API
    locate包的安装
    集中化管理平台Saltstack安装配置
    系统批量运维管理器pexpect的使用
  • 原文地址:https://www.cnblogs.com/lovepurple/p/2727302.html
Copyright © 2020-2023  润新知