spring+springMVC+Mybatis下的log4j日志

接着整理以前用到的,研究过的技术

当时需求要求,能分文件记录不同的级别的日志,能在项目多个日志框架中(项目有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按顺序支持SLF4JApache Commons LoggingLOG4J 2 LOG4JJDK 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

猜你喜欢

转载自995998760.iteye.com/blog/2283753