论坛首页 Java企业应用论坛

ibatis配置log4j输出sql语句等日志信息

浏览 30225 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-01-03   最后修改:2010-07-06

      整了一上午的ibatis,记得自己以前配置过log4j可以输出sql语句,但是这次不知道咋了,就是不输出,找以前的项目还找不到了,上网上搜索了半天,都是差不多的配置log4j.properties,然后放到class目录下,但是就是不好用。真后悔当初没有把经验流下来。这次我决定虽然工作时间很紧,但是还是把这个方法先写下来,以免以后再犯这样的错误。

 

    总结步骤如下:

  1. 建立一个log4j.properties文件,放到工程源文件夹下,如果是eclipse那么放到src下,eclipse会自动将这个文件加载到class目录下。如下图

    如果是JB,那么要设置,这类型的文件也加载到目标项目中。
  2. 将log4j.jar和commons-logging.jar(我这次就是落下了这个jar,日了!)放到项目的类路径中,如果是web项目就是lib下。
  3. 配置的log4j.properties文件的例子。证明可用!
    #-------------------------------- 
    #
    log4j.rootLogger=DEBUG, stdout, fileout
    #log4j.logger.test=info
    #log4j.logger.org.apache.jasper = DEBUG
    #log4j.logger.org.apache.catalina.startup.TldConfig = DEBUG
    #log4j.logger.org.apache.catalina.session.ManagerBase = DEBUG
    
    log4j.logger.com.fiscal = DEBUG
    log4j.logger.com.system = DEBUG
    
    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
    log4j.logger.java.sql.ResultSet = DEBUG
    
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
    
    log4j.appender.fileout=org.apache.log4j.RollingFileAppender
    log4j.appender.fileout.File=C:\\ibatis.log 
    log4j.appender.fileout.MaxFileSize=10000KB 
    
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
    log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} :%m%n 
    log4j.appender.fileout.layout=org.apache.log4j.PatternLayout 
    log4j.appender.fileout.layout.ConversionPattern=[%-5p]_%d{yyyy-MM-dd HH:mm:ss} :%m%n
    
    #log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout 
    
    # log4j.logger.org=info
    #-------------------------------- 
    
     
  4. 结束了,祝大家好运!
   发表时间:2009-01-07  
我贴一个xml版本的
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

	<appender class="org.apache.log4j.ConsoleAppender" name="console">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n" />
			<!-- param name="ConversionPattern"
				value="=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n" /-->
		</layout>
	</appender>
	<appender class="org.apache.log4j.RollingFileAppender"
		name="file">
		<param name="File" value="MengBackup.log" />
		<param name="MaxFileSize" value="100KB" />
		<param name="MaxBackupIndex" value="2" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n" />
		</layout>
	</appender>
	
	<logger name="com.ibatis">
		<level value="debug" />
	</logger>
	
	<logger name="com.ibatis.common.jdbc.SimpleDataSource">
		<level value="debug" />
	</logger>
	
	<logger name="com.ibatis.common.jdbc.ScriptRunner">
		<level value="debug" />
	</logger>
	
	<logger name="com.ibatis.common.jdbc.SqlMapClientDelegate">
		<level value="debug" />
	</logger>
	
	<logger name="java.sql.Connection">
		<level value="debug" />
	</logger>
	
	<logger name="java.sql.Statement">
		<level value="debug" />
	</logger>
	
	<logger name="java.sql.PreparedStatement">
		<level value="debug" />
	</logger>
	
	<logger name="java.sql.ResultSet">
		<level value="debug" />
	</logger>
	
	<root>
		<priority value="DEBUG" />
		<appender-ref ref="console" />
		<appender-ref ref="file" />
	</root>
</log4j:configuration>

0 请登录后投票
   发表时间:2009-01-10  
要看到SQL只要在connection和prepareStatement这里设置就可以了,其它的可不必 一大堆东西,扰乱视线
0 请登录后投票
   发表时间:2009-01-17  
结果集看看也行,知道自己的查询回来了什么东西
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics