6.2 log4j配置

        系统运行中很重要、但经常被忽视的东西就是log,log可以用来记录系统的运行状况、每个用户的访问情况等,主要用来记录系统的“痕迹”。记录下来的log,可以用来查找错误,也可以经过处理用来作为统计和分析的数据来源等等。

        Java web系统中我们一般用log4j来记录log,接下来我们一步步来配置。

 

  • 1.引入日志相关jar包

      log4j-1.2.16.jar,commons-logging-1.2.jar,因为commons-logging-1.2.jar在其他包中有依赖,Maven已经自动引入这个包了,所以这里只需要引入log4j-1.2.16.jar,所以在pom.xml中添加如下依赖

 

 <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
  </dependency>

 

  • 2.新建log配置文件log4j.properties

    在resources/config/下新建log4j.properties文件,并添加如下内容:

 

#log输出级别,输出方式
log4j.rootLogger=ERROR,html    
log4j.additivity.org.apache=true

#输出到 console 
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmediateFlush=true
log4j.appender.console.Target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

#输出到文件logFile
log4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logFile.Threshold=DEBUG
log4j.appender.logFile.ImmediateFlush=true
log4j.appender.logFile.Append=true 
log4j.appender.logFile.File=D:/log.log4j
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l\: %m %x %n

#输出到html文件
log4j.appender.html=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.html.Append=true 
log4j.appender.html.File=D\:/log/log.html
#log4j.appender.html.DatePattern='_'yyyy-MM-dd'.html'
log4j.appender.html.DatePattern='_'yyyy-MM-dd-HH-mm'.html'
log4j.appender.html.layout=org.apache.log4j.HTMLLayout  
log4j.appender.html.layout.ConversionPattern=%d%n%m%n
    其中,需要说明的是:
  • log4j.rootLogger=ERROR,html ,ERROR表示输出级别,html表示输出方式。
  • log4j.appender.html=org.apache.log4j.DailyRollingFileAppender ,表示它能够按一定的频度滚动生成日志记录文件。
  • log4j.appender.html.File=D\:/log/log.html,表示默认生成的log名。
  • log4j.appender.html.DatePattern='_'yyyy-MM-dd-HH-mm'.html',表示滚动生成的log名后缀格式,其中日期的格式决定日志生成的频率,yyyy-MM-dd-HH-mm表示每分生成一个,yyyy-MM-dd-HH每个小时生成一个,yyyy-MM-dd 每天生成一个,依次类推。
  • log4j.appender.html.layout=org.apache.log4j.HTMLLayout ,表示生成html格式的log。
  • log4j.appender.html.layout.ConversionPattern=%d%n%m%n,表示日志描述部分的格式和内容。
  • 更详细的用法自行搜索,或者参考http://www.codeceo.com/article/log4j-usage.html。
  • 3.配置log4j的监听,在 web.xml中添加如下配置:

 

  <!-- 整合log4j  -->
  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:config/log4j.properties</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>

  • 4.测试
      在TestController.java 中添加log测试代码:
  • Log log = LogFactory.getLog(TestController.class);
  • log.error("Log记录:TestController/test.do请求一次");
  • 具体代码如下:
  • package com.qyuz.controller;
    
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import com.qyuz.service.ITestService;
    
    @Controller
    public class TestController {
    	
    	Log log = LogFactory.getLog(TestController.class);
    	
    	@Autowired
    	ITestService service;
    	
    	@RequestMapping("/test")
    	public String test(){
    		log.error("Log记录:TestController/test.do请求一次");
    		return service.getPage();
    	}
    
    }
    
     
  • 运行项目,请求http://localhost:8080/myecom/test.do,查看log:
  • 点击log.html,如下:

  •  
      log4j配置完成~~
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值