1、log4j.properties ###################################### # log4j配置相关说明 ###################################### #%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL #%r 输出自应用启动到输出该log信息耗费的毫
###################################### # 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=other2、web.xml
3、不使用web.xml,使用Javaconfig方式log4jConfigLocation /WEB-INF/log4j.properties log4jRefreshInterval 1800000 org.springframework.web.util.Log4jConfigListener
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导包
-----log4j1.2.16 -----如果需要使用slf4j log4j log4j${log4j.version} 1.7.12 org.slf4j slf4j-api${slf4j.version} org.slf4j jcl-over-slf4j${slf4j.version} org.slf4j slf4j-log4j12${slf4j.version}