接着整理以前用到的,研究过的技术
当时需求要求,能分文件记录不同的级别的日志,能在项目多个日志框架中(项目有Apache Commons
Logging,LOG4J,LOGBACK)选定log4j作为日志框架
?
1、指定spring的日志框架
在web.xml配置文件加上
?<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>600000</param-value>
?????????</context-param>
2、指定mybatis的日志框架
在mybatis-config.xml里加上
<setting name="logImpl" value="LOG4J"/>
原因是,mybatis按顺序支持SLF4J、Apache Commons Logging、LOG4J 2 、LOG4J、JDK LOGGIN,当一个系统有多个日志的时候,如果想用低等级的框架,就需要写上这句话声明一下
3、日志多文件
在log4j.properties配置文件按照如下所写
# 日志开关 log4j.rootLogger=debug, Console, info,error,debug #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n ### 保存debug信息到单独文件 ### log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender log4j.appender.debug.File=${catalina.home}/logs/debug.log log4j.appender.debug.Append = true log4j.appender.debug.Threshold = DEBUG log4j.appender.debug.layout=org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n ### 保存info信息到单独文件 ### log4j.appender.info=org.apache.log4j.DailyRollingFileAppender log4j.appender.info.File=${catalina.home}/logs/info.log log4j.appender.info.Append = true log4j.appender.info.Threshold = INFO log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n ### 保存异常信息到单独文件 ### log4j.appender.error = org.apache.log4j.DailyRollingFileAppender log4j.appender.error.File = ${catalina.home}/logs/error.log log4j.appender.error.Append = true log4j.appender.error.Threshold = ERROR log4j.appender.error.layout = org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern = %d [%t] %-5p [%c] - %m%n #Project default level log4j.logger.com.as.resource = INFO log4j.logger.org.springframework.web = INFO #DEBUG log4j.logger.java.sql.Connection = DEBUG log4j.logger.java.sql.Statement = DEBUG log4j.logger.java.sql.PreparedStatement = DEBUG log4j.logger.java.sql.ResultSet =DEBUG #mybatis 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
?
?4、最后一步,记得用spring加载该配置文件
如以下代码
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations" > <list> <!-- <value>classpath:jdbc.properties</value> --> <value>classpath:log4j.properties</value> <!-- <value>……</value> --> </list> </property> <property name="fileEncoding"> <value>UTF-8</value> </property> </bean>
5、不要忘记相对应的jra包
所需jia包如下
Log4j-***.jra
spring+springMVC+Mybatis下的log4j日志
原文:http://995998760.iteye.com/blog/2283753