`

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

阅读更多

      整了一上午的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. 结束了,祝大家好运!
分享到:
评论
5 楼 qq591628420 2017-02-23  
正解!!!!!!!!!!!!!!!!!!!!!!!!!!           
4 楼 xs.cctv 2013-03-04  
不错 谢谢
3 楼 xiaoxin 2009-01-17  
结果集看看也行,知道自己的查询回来了什么东西
2 楼 phenom 2009-01-10  
要看到SQL只要在connection和prepareStatement这里设置就可以了,其它的可不必 一大堆东西,扰乱视线
1 楼 reverocean 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>

相关推荐

    打log4j日志-ibatis的sql输出

    Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,在这里你可以设置不同级别的日志输出,例如DEBUG、INFO、WARN、ERROR等。 对于Ibatis,这是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了...

    WAS上log4j日志不能输出(ibatis)sql语句解决办法[借鉴].pdf

    WAS 上 log4j 日志不能...解决 WAS 上 log4j 日志不能输出(ibatis)sql 语句的问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下的 LogFactory 实现类,并且需要正确配置 log4j.properties 文件。

    在ibatis日志信息中打印SQL语句的方法(个人总结)

    2. **配置Log4j**:在项目的类路径下创建一个名为`log4j.properties`的文件,并配置如下内容来开启iBatis的日志输出: ```properties # 设置root logger级别为DEBUG log4j.rootLogger=DEBUG, stdout, D # 输出到...

    纯净版SpringMVC+Ibatis+log4j环境

    5. **配置文件**:log4j.properties或log4j.xml,配置日志的输出行为。 在“springtest”这个项目中,我们可以看到这三个组件是如何整合在一起的。SpringMVC作为应用的控制器,负责接收请求并调用iBatis进行数据...

    log4j和ibatis配置文档

    1. 配置文件:Log4j的核心配置文件通常是`log4j.properties`或`log4j.xml`,它们定义了日志输出的级别、目的地、格式等。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, Console, File log4...

    WebSphere V5 配置log4j

    本篇文章将详细探讨如何在WebSphere V5环境中配置log4j,以及如何结合iBATIS框架输出SQL语句。 首先,我们要理解log4j是什么。log4j是Apache的一个开源项目,提供了一个灵活且强大的日志系统。它允许程序员以声明式...

    Maven_SpringMVC_Ibatis_Log4j

    Log4j是Java的日志框架,它提供了灵活的日志记录功能,包括控制日志输出级别、指定日志输出格式、选择日志输出目的地等。在项目开发中,日志可以帮助我们追踪代码运行状态、定位错误,以及进行性能分析。在本项目中...

    Mybatis Log(自动填充sql参数打印到控制台)

    当日志级别设置为`DEBUG`时,Mybatis 将输出包括SQL语句和参数在内的详细信息。 在Mybatis的Mapper接口或XML配置文件中,我们通常会定义带有动态参数的SQL语句。例如: ```java public interface UserMapper { @...

    ibatis打印sql

    Log4j是一个广泛使用的日志记录工具,它允许我们控制和记录应用的运行时信息,包括SQL语句。 2. **启用日志**: 要启用iBATIS的SQL打印,首先需要在项目中添加Log4j的配置文件,如提供的`log4j.properties`。这个...

    ibatis16个常用sql语句

    在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、Read、Update、Delete)操作。 1. 删除语句 在iBatis中,删除语句可以使用`&lt;delete&gt;`元素。例如: ```xml...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...

    MyBatis基本CRUD与动态SQL(带log4j.properties).zip

    例如,设置`log4j.logger.org.apache.ibatis=DEBUG`将打印出所有执行的SQL语句及其参数,这对于调试和优化SQL性能非常有帮助。 综上所述,MyBatis基本CRUD操作涉及了数据库中的基本操作,而动态SQL则展示了MyBatis...

    ibatis企业开发报表前调试(日志,复杂sql动态拼接)

    配置完成后,当你运行项目并执行SQL操作时,Ibatis会将所有的SQL语句,包括动态SQL的拼接过程,以及绑定的参数等信息输出到控制台。这对于调试和性能优化非常有帮助,尤其是处理复杂的动态SQL时,可以清晰地看到最终...

    ibatis2包和能显示执行的sql语句的ibatis2.jar

    默认情况下,Ibatis并不自动打印执行的SQL,但可以通过设置log4j、logback或其他日志系统的配置,启用日志输出,从而查看应用程序运行时执行的SQL语句。例如,如果你使用的是log4j,可以在配置文件中添加以下内容: ...

    ibatis常用的sql

    根据提供的文件信息,本文将对ibatis常用的SQL语句进行详细的解析与说明。这些SQL语句主要用于Oracle数据库中,涉及到了删除、插入以及查询等基本操作,并且在ibatis框架中实现了参数化处理。 ### 一、删除操作 ...

    使用P6spy打印ibatis执行的SQL语句

    它将接收到的原始SQL语句进行处理,然后将其输出到日志文件,供开发者查看和分析。这对于跟踪性能问题、检查SQL语句是否正确以及优化数据库操作非常有用。 接下来,我们将分步骤介绍如何配置P6Spy以打印iBatis的SQL...

    通过Mybatis拦截器自动定位慢SQL并记录日志

    Mybatis拦截器(Interceptor)是一种插件机制,它允许我们在Mybatis执行SQL语句之前或之后进行自定义操作,比如统计SQL执行时间、添加日志等。拦截器基于Java的动态代理实现,可以拦截Mapper接口方法的调用。 接...

    ideal mybatis打印sql插件

    把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...

    原样输出mybatis的sql执行语句(mysql和oracle都可用).zip

    在默认情况下,MyBatis并不会直接打印出执行的SQL语句,因此我们需要开启日志功能以获取这些信息。 1. **启用MyBatis日志** MyBatis支持多种日志实现,如Log4j、Logback和Java内置的日志API。在SpringBoot项目中,...

    sql语句中用问号代替参数

    在SQL语句中,使用问号(`?`)作为参数占位符是一种常见的做法,尤其是在编程语言如Java中与数据库交互时。这种方式被称为预编译语句或参数化查询,它具有重要的安全性和性能优势。 ### SQL参数化查询的概念 参数化...

Global site tag (gtag.js) - Google Analytics