像 hibernate, mybatis 都是不打印真正执行的sql的,所以借助 log4jdbc 打印sql以及统计执行时间是非常方便的。

配置log4jdbc 有很多种方法,比如通过spring的拦截器。最简单的方法就是在jdbc.url 连接参数加上log4jdbc,然后引入相应的log4jdbc包即可。

COMMENT 原连接参数:
jdbc.url=jdbc:mysql://127.0.0.1:3306/theme?characterEncoding=utf-8 COMMENT 加入log4jdbc后的连接参数:
jdbc.url=jdbc:log4jdbc:mysql://127.0.0.1:3306/theme?characterEncoding=utf-8

引入jar包

<!-- log4jdbc -->
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>

我用logback,所以还要引入logback 和 slf4j-api包。

因为log4jdbc 默认输出很多日志,所以需要配置,可以通过新建 log4jdbc.properties 配置,也可以通过logback.xml文件里配置, 用log4j的则是通过log4j.properties 或log4j.xml配置。

<!-- -->
<logger name="jdbc.sqlonly" level="WARN"/>
<logger name="jdbc.sqltiming" level="INFO"/>
<logger name="jdbc.resultsettable" level="INFO"/>
<logger name="jdbc.resultset" level="WARN"/>
<logger name="jdbc.connection" level="WARN"/>
<logger name="jdbc.audit" level="WARN"/> <!-- 或者关闭不必要的 -->
<logger name="jdbc.connection" level="OFF" />
<logger name="jdbc.audit" level="OFF" />
<logger name="jdbc.resultset" level="OFF" />
<logger name="jdbc.sqlonly" level="OFF" />
<logger name="jdbc.sqltiming" level="INFO" />
<logger name="jdbc.resultsettable" level="INFO"/>

参考资料:

  http://www.jialeens.com/archives/720.html

  https://github.com/arthurblake/log4jdbc/blob/wiki/ProjectHome.md

  http://badqiu.iteye.com/blog/743100

log4jdbc 使用的更多相关文章

  1. JDBC数据库访问操作的动态监测 之 Log4JDBC

    log4jdbc是一个JDBC驱动器,能够记录SQL日志和SQL执行时间等信息.log4jdbc使用SLF4J(Simple Logging Facade)作为日志系统. 特性: 1.支持JDBC3和 ...

  2. 转】使用log4jdbc记录SQL信息

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4081848.html 感谢! 一.log4jdbc的简单介绍 使用log4jdbc在不改变原有代码的情况下,就可 ...

  3. 异常:Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.log4jdbc.Properties

    参考文章: 使用Log4jdbc-log4j2监听MyBatis中运行的SQL和Connection 使用 log4jdbc格式化输出SQL,maven配置如下: <dependency> ...

  4. sql日志框架log4jdbc的AOP式使用

    log4jdbc.log4j2 参考:1.  http://badqiu.iteye.com/blog/743100 2.  https://code.google.com/p/log4jdbc/ 3 ...

  5. log4jdbc与logback集合打印日志过多的解决

    在项目中使用了log4jdbc,可以很方便的把sql的参数也打印出来,便于问题调试.比如原始sql: select * from t_order where order_id = ? : 经过log4 ...

  6. log4jdbc

    log4jdbc http://www.blogjava.net/badqiu/archive/2010/08/20/329464.html http://blog.csdn.net/sfdev/ar ...

  7. Log4jdbc demo

    package log4jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import org.junit.Te ...

  8. log4jdbc打印完整SQL

    一.log4jdbc简单介绍: log4jdbc是工作在jdbc层的一个日志框架,能够记录SQL及数据库连接执行信息. 一般的SQL日志会把占位符和参数值分开打印,log4jdbc则会记录数据库执行的 ...

  9. Servlet开发 中使用 log4jdbc 记录 hibernate 的 SQL信息

    一.前言 使用log4jdbc在不改变原有代码的情况下,就可以收集执行的SQL文和JDBC执行情况. 平时开发使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺 ...

随机推荐

  1. leetcode : Binary Tree Paths

    Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...

  2. [普通平衡树splay]【学习笔记】

    参考: http://blog.csdn.net/clove_unique/article/details/50630280 gty课件 找一个好的风格太难了,自己习惯用struct,就强行用stru ...

  3. java程序设计之反弹高度

    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 代码: public class highe { double high ...

  4. c#读写xml文件

    using System; using System.Collections.Generic; using System.Xml; using System.Text.RegularExpressio ...

  5. CWMP开源代码研究3——ACS介绍

    声明:本文涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅号:408797506) 本文介绍自己用过的ACS,其中包括开源版(提供下载包)和商业版(仅提供安装包下载 ...

  6. java构造方法的作用以及简单java类

    public class TestDemo{ public static void main(String args[]){ Emp emp1 =new Emp(001,"tom" ...

  7. Netron开发快速上手(一):GraphControl,Shape,Connector和Connection

    版权所有,引用请注明出处:<<http://www.cnblogs.com/dragon/p/5203663.html >> 本文所用示例下载FlowChart.zip 一个用 ...

  8. IoC 与 AOP (谈谈你对 Spring 的理解)

    一.Spring 实现了工厂模式的工厂类,这个类名为BeanFactory(实际上是一个接口),在程序中通常 BeanFactory 的子类 ApplicationContext. Spring相当于 ...

  9. javascript 中断函数的使用 setInterval()——返回顶部

    方法名称:gotop() 功能描述:点击某个元素,调用方法gotop(),固定间隔,滚动至屏幕顶部 日期 :2016.06.06 16:02 author  :cyh2009@live.com < ...

  10. checking for fcc ....no checking for cc .. no

         源码编译,提示缺少gcc cc cl.exe 解决方案:       yum install -y gcc glibc