ibatis打印SQL的log4j配置和Spring+Struts2+Ibatis日志系统配置

今天转换数据,遇到了用ibatIS做持久层的系统,弄不清数据的关联关系,就想着打印出后台SQL出来,在网上找了找相关的方法,现在记录下来以便以后自己用着方便。ibatIS的配置文件有两种,一种是xml的,一种是properties的。我用的是xml文件的,也把properties记下来,说不定哪天用的到。

第一种:log4j.xml文件的

<appender name="IBatis" class="org.apache.log4j.ConsoleAppender">   
   <layout class="org.apache.log4j.PatternLayout">   
      <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />   
   </layout>   
   <filter class="org.apache.log4j.varia.LevelRangeFilter">   
      <param name="LevelMin" value="DEBUG" />   
      <param name="LevelMax" value="DEBUG" />   
   </filter>  
</appender>   
  
<logger name="com.ibatis" additivity="true">   
   <level value="DEBUG" />   
</logger>   
<logger name="java.sql.Connection" additivity="true">   
   <level value="DEBUG" />   
</logger>   
<logger name="java.sql.Statement" additivity="true">   
   <level value="DEBUG" />   
</logger>   
<logger name="java.sql.PreparedStatement" additivity="true">   
   <level value="DEBUG" />   
   <appender-ref ref="IBatis" />   
</logger>   
<logger name="java.sql.ResultSet" additivity="true">   
   <level value="DEBUG" />   
   <appender-ref ref="IBatis" />   
</logger>   
第二种:log4j.properties

log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n  
  
  
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  
log4j.logger.java.sql.Connection=debug  
log4j.logger.java.sql.Statement=debug  
log4j.logger.java.sql.PreparedStatement=debug,stdout

Spring+Struts2+Ibatis日志系统配置

在web.xml中配置log4j的动态加载监听器
<context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>classpath:log4j.properties</param-value>
  </context-param>
  <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>
注:其实如果你的log4j.properties是放在classpath下,log4jConfigLocation是没有必要配置的,因为默认的路劲就是classpath。spring的log4jConfigListener是用来监听log4j配置的变更的,如果设置了这个监听器,则以后log4j的配置发生变化时,你不用重新编译打包发布项目。spring会自动加载变更后的 配置文件
简单的log4j配置
1:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
:1
log4j.rootLogger=DEBUG,stdout
#ibatis start#
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    
log4j.logger.java.sql.Connection = DEBUG    
log4j.logger.java.sql.Statement = DEBUG    
log4j.logger.java.sql.PreparedStatement = DEBUG,stdout 
log4j.logger.java.sql.ResultSet = DEBUG  
#ibatis end#
#spring start#
#log4j.logger.com.shunwang.bussiness.service = DEBUG,stdout
#spring end#
log4j支持不同的日志级别,其中debug是最低的等级,最高等级是error。通常在项目开发阶段使用debug级别,输出的信息会非常详细,详细到每个bean的创建,以及bean每个属性的注入。而在项目发布阶段则没必要这么详细,将日志的级别设成error就行了。
在以上的配置中是将日志输出到控制台,项目发布后需要将日志输出到日志文件,以备以后查看
可以将 1:处的配置改成以下样式:
log4j.appender.stdout=org.apache.log4j.FileAppender
log4j.appender.stdout.Target=(日志文件的绝对路径)
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值