当前位置 : 主页 > 编程语言 > c++ >

SpringMVC中使用log4j

来源:互联网 收集:自由互联 发布时间:2021-07-03
1、log4j.properties ###################################### # log4j配置相关说明 ###################################### #%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL #%r 输出自应用启动到输出该log信息耗费的毫
1、log4j.properties
######################################  
	#         log4j配置相关说明  
	######################################  
	  
	#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL   
	#%r 输出自应用启动到输出该log信息耗费的毫秒数   
	#%c 输出所属的类目,通常就是所在类的全名   
	#%t 输出产生该日志事件的线程名  
	#%m 输出代码中指定的信息   
	#%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”   
	#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},输出类似: 2002年10月18日 22:10:28,921   
	#%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)   
	  
	#log4j提供4种布局:   
	#org.apache.log4j.HTMLLayout(以HTML表格形式布局)  
	#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),  
	#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),  
	#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息  
	  
	#log4j中有五级logger 输出级别:  
	#FATAL 0   
	#ERROR 3   
	#WARN 4   
	#INFO 6   
	#DEBUG 7  
	  
	######################################  
	#          log4j相关配置  
	######################################  
	  
	#日志输出级别  
	log4j.rootLogger=INFO,stdout,other  
	  
	#设置stdout的日志输出控制台  
	log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
	#输出日志到控制台的方式,默认为System.out  
	log4j.appender.stdout.Target = System.out  
	#设置使用灵活布局  
	log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
	#灵活定义输出格式  
	log4j.appender.stdout.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss}] %l %m %n    
	  
	#设置other的日志输出控制台  
	log4j.appender.other=org.apache.log4j.RollingFileAppender  
	#设置other的输出日志  
	log4j.appender.other.File=${webapp.root}/WEB-INF/logs/log.log  
	#设置other的日志最大限制  
	log4j.appender.other.MaxFileSize=1024KB  
	#最多只保存20个备份文件  
	log4j.appender.other.MaxBackupIndex=1000  
	#输出INFO级别以上的日志,需要更详细的使用DEBUG,源码中很多DEBUG的信息  
	og4j.appender.other.Threshold=INFO   
	#设置使用灵活布局  
	log4j.appender.other.layout=org.apache.log4j.PatternLayout  
	#灵活定义输出格式  
	log4j.appender.other.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss}] %l %t %m %n    
	  
	################################################   
	#       hibernate相关配置(如果有,也能换成其他的)  
	################################################   
	  
	#输出hibernate调试过程中的错误日志  
	log4j.logger.org.hibernate=other  
	#输出HQL查询调试日志  
	log4j.logger.org.hibernate.hql.ast.AST=other  
	#输出SQL语句调试日志  
	log4j.logger.org.hibernate.SQL=other  
	#输出 JDBC参数查询的日志  
	log4j.logger.org.hibernate.type=other  
	#输出缓存日志   
	log4j.logger.org.hibernate.cache=other  
	#输出事务日志
	log4j.logger.org.hibernate.transaction=other  
	#输出获取JDBC资源日志  
	log4j.logger.org.hibernate.jdbc=other
2、web.xml
 

 

    
   
   
   
    log4jConfigLocation
    
   
    /WEB-INF/log4j.properties
    
    
   
    
   
   
   
    log4jRefreshInterval
    
   
    1800000
    
     
   
    
   
   
   
    org.springframework.web.util.Log4jConfigListener
    
  

 
3、不使用web.xml,使用Javaconfig方式
package com.amiu.spring.config;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
import org.springframework.web.util.Log4jConfigListener;

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{

    /**
	 * 这个方法tomcat启动就会调用,可以代替web.xml注册filter,listener,servlet等
	 */
	@Override
	public void onStartup(ServletContext container) throws ServletException {
		//config log4j
		container.setInitParameter("log4jConfigLocation", "/WEB-INF/log4j.properties");
		container.addListener(Log4jConfigListener.class);
		super.onStartup(container);
	}

	@Override
	protected Class
 [] getRootConfigClasses() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	protected Class
 [] getServletConfigClasses() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	protected String[] getServletMappings() {
		// TODO Auto-generated method stub
		return new String[]{"/"};
	}
	
	
	
}
4、maven导包
-----log4j

 
		
  
   1.2.16
  

 

 

 
		
   
   
    log4j
    
   
    log4j
    
   
    ${log4j.version}
    
  

 

-----如果需要使用slf4j

 
      
  
   1.7.12
  

 


 
   
  
   org.slf4j
  
   
  
   slf4j-api
  
   
  
   ${slf4j.version}
  

 

 
   
  
   org.slf4j
  
   
  
   jcl-over-slf4j
  
   
  
   ${slf4j.version}
  

 

 
   
  
   org.slf4j
  
   
  
   slf4j-log4j12
  
   
  
   ${slf4j.version}
  

 
网友评论