`
995998760
  • 浏览: 35176 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

4
6
分享到:
评论
6 楼 heikehuan 2016-03-18  
log4j已经是过去式了。
logback已经能完全替代它。
log4j区分开发,测试,生产环境极困难。但是对于logback很简单,它自带环境区分。
log4j对代码日志级别的粒度,不如logback细。
对于不同的日志,发送给不同的开发人员,对于log4j极难做到。
但是对于logback,它原生就自带这功能。
总之,一句话。log4j完败logback。
5 楼 jeesz 2016-03-18  
很好,很不错
4 楼 jeesz 2016-03-18  
很好,很不错
3 楼 jeesz 2016-03-18  
很好,很不错
2 楼 xian1202 2016-03-17  
mark down
1 楼 java-lxm 2016-03-17  
logback

相关推荐

Global site tag (gtag.js) - Google Analytics