zoukankan      html  css  js  c++  java
  • log4j的使用

    1.引入jar包:

    log4j-1.2.12.jar
    slf4j-api-1.6.6.jar
    slf4j-log4j12-1.6.6.jar 

    2.配置文件log4j.properties(放置在src下,默认加载src下的;如果在web.xml配置log4j监听器,可自定义路径):

    # DEBUG,INFO,WARN,ERROR,FATAL
    LOG_LEVEL=INFO
    
    log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE
    
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
    log4j.appender.CONSOLE.Encoding=utf-8
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    #log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n 
    log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n
    
    log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
    #${catalina.base}/logs/hrmis.log
    log4j.appender.FILE.File=D:\mylog.log
    log4j.appender.FILE.Encoding=utf-8
    log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    #log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
    log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n 
    
    
    log4j.logger.com.ibatis=DEBUG
    log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
    log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
    log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
    
    log4j.logger.java.sql.ResultSet=INFO  
    log4j.logger.org.apache=INFO  
    log4j.logger.java.sql.Connection=DEBUG  
    log4j.logger.java.sql.Statement=DEBUG  
    log4j.logger.java.sql.PreparedStatement=DEBUG 

    3.测试:

    package test;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class TestLog4j {
        private final static Logger logger = LoggerFactory.getLogger(TestLog4j.class);
        /**
         * @param args
         */
        public static void main(String[] args) {
            logger.info("--info--");
            logger.debug("--debug--");
            logger.error("-error-");
            logger.warn("--warn--");
    
        }
    
    }

    生成日志文件:

     

    说明:

    如果实际项目中用到log4j日志需要在web.xml中配置:

    <!-- log4j日志 -->
      <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
      </listener>
      <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
      </context-param>
      <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>60000</param-value>
      </context-param>

    使用spring中的Log4jConfigListener有如如下好处: 
       1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。 
       2. 把log文件定在 /WEB-INF/logs/
           而不需要写绝对路径。 
           因为系统把web目录的路径压入一个叫webapp.root的系统变量。这样写log文件路径时不用写绝对路径了. 
      log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log 
       3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path。 
       4.log4jRefreshInterval为6000表示开一条watchdog线程每6秒扫描一下配置文件的变化;

  • 相关阅读:
    WPF学习10:基于MVVM Light 制作图形编辑工具(1)
    外文翻译 《How we decide》赛场上的四分卫
    算法学习01:二分查询,选择法、插入法、分治法排序
    外文翻译 《How we decide》 Introduction
    WPF学习09:数据绑定之 Binding to List Data
    WPF学习08:MVVM 预备知识之COMMAND
    WPF学习07:MVVM 预备知识之数据绑定
    WPF学习05:2D绘图 使用Transform进行控件变形
    WPF学习06:转换控件内容为可存储图片
    WPF学习04:2D绘图 使用Shape绘基本图形
  • 原文地址:https://www.cnblogs.com/super-chao/p/7890433.html
Copyright © 2011-2022 走看看