美文网首页
004.SpringMVC 简单配置 Log4J

004.SpringMVC 简单配置 Log4J

作者: 胖先森 | 来源:发表于2017-05-16 11:11 被阅读0次

实际开发使用的日志框架很多,log4j可能有些过时了,这里需要简单的记录,方便偶的朋友和学生,做设计的时候能方便查看

1.在web.xml配置log4j.的监听器

    <context-param>  
        <param-name>webAppRootKey</param-name>  
        <param-value>应用名.root</param-value>  
    </context-param>  
  
    <context-param>  
        <param-name>log4jConfigLocation</param-name>  
        <param-value>classpath:log4j.properties</param-value>  
    </context-param>  
      
    <context-param>  
        <param-name>log4jRefreshInterval</param-name>
        <!-- 6秒 -->  
        <param-value>6000</param-value>  
    </context-param>  
  
    <listener>  
        <listener-class>  
            org.springframework.web.util.Log4jConfigListener  
        </listener-class>  
    </listener>

  <!--这里配置了一个listener,也可以配置servlet:-->  
  <!--   
      <servlet>  
         <servlet-name>log4j</servlet-name>  
         <servlet-class>org.springframework.web.util.Log4jConfigServlet</servlet-class>  
         <load-on-startup>2</load-on-startup>  
     </servlet>  
  -->  

这相当于按spring的规范,将log4j进行初始化,无非是指定一下配置文件位置。
应用名.root 相当于添加一个系统变量,主要是为了指定应用的路径。

补充说明:
说明: 在上文的配置里,在上文的配置里,Log4jConfigListener会去类路径下log4j.propeties 读取配置文件;开一条watchdog线程每60秒扫描一下配置文件的变化(这样在web服务启动后再去修改配置文件也不用重新启动web服务了);并把 web目录的路径压入一个叫webapp.root的系统变量(webapp.root将在log4j.properties文件中使用)。
然后,在log4j.properties 里就可以这样定义logfile位置
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log
如果有多个web应用,怕webapp.root变量重复,可以在context-param里定义webAppRootKey。

2.log4j.properties文件

随便弄了一个 简单看一下而已

# debug<info<warn<error  
log4j.rootLogger=debug, LOGFILE  
#log4j.debug=true  
  
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.  
#设置包日志输出级别  
#log4j.logger.com.xy6=INFO, CONSOLE  
  
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.  
#输出到控制台  
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
log4j.appender.CONSOLE.Threshold=INFO  
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
log4j.appender.CONSOLE.layout.ConversionPattern=%d %p [%c] - <%m>%n  
  
#输出到文件  
log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender  
log4j.appender.LOGFILE.File=${应用名.root}/log/AllLog.log  
log4j.appender.LOGFILE.MaxFileSize=10000KB  
log4j.appender.LOGFILE.MaxBackupIndex=1000  
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.LOGFILE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n  
  
#mybatis显示SQL语句日志配置  
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.Connection=DEBUG  
log4j.logger.java.sql.Statement=DEBUG  
log4j.logger.java.sql.PreparedStatement=DEBUG  

3.如何调用

import org.apache.log4j.Logger;  
private static Logger log = Logger.getLogger(SessionListener.class);  
  
log.info("SessionListener contextInitialized!"); 

相关文章

网友评论

      本文标题:004.SpringMVC 简单配置 Log4J

      本文链接:https://www.haomeiwen.com/subject/rnxlxxtx.html