一、log4jdbc简单介绍:

log4jdbc是工作在jdbc层的一个日志框架,能够记录SQL及数据库连接执行信息。

一般的SQL日志会把占位符和参数值分开打印,log4jdbc则会记录数据库执行的完整SQL字符串,在数据库应用开发调试阶段非常有用。

log4jdbc具有以下特性:

  • 支持JDBC3和JDBC4。
  • 支持现有大部分JDBC驱动。
  • 易于配置(在大部分情况下,只需要改变驱动类名和jdbc的URL,设置好日志输出级别)。
  • 能够自动把SQL变量值加到SQL输出日志中,改进易读性和方便调试。
  • 能够快速标识出应用程序中执行比较慢的SQL语句。
  • 能够生成SQL连接数信息帮助识别连接池/线程问题。

二、log4jdbc配置方式:

1.依赖配置:

  log4jdbc的使用需要依赖于log4j-1.2.17.jar、slf4j-api.jar-1.7.5、slf4j-log4j12-1.7.5.jar,然后下载log4jdbc-1.2.jar包

2.在日志配置文件中定义相关logger对象的输出级别和输出器:

  在log4jdbc中定义了以下五个日志对象:

  jdbc.sqlonly     : 记录系统执行过的sql语句

  jdbc.sqltiming  : 记录sql执行的时间,可以分析耗时的sql语句

  jdbc.audit        : 记录除了ResultSet外的所有JDBC调用情况。一般不需要。

  jdbc.resultset   : 记录返回结果集信息

  jdbc.connection: 记录数据库连接和释放信息,可记录当前的数据库连接数,便于诊断连接是否释放。

log4j.logger.jdbc.sqlonly=DEBUG,console
log4j.logger.jdbc.sqltiming=INFO,console

 log4j.appender.console=org.apache.log4j.ConsoleAppender

 log4j.appender.console.layout=org.apache.log4j.SimpleLayout

 

3.修改数据库配置文件:

修改前:

修改后:

到此,log4jdbc的配置就全部完成了。

log4jdbc打印完整SQL的更多相关文章

  1. 曹工杂谈--使用mybatis的同学,进来看看怎么在日志打印完整sql吧,在数据库可执行那种

    前言 今天新年第一天,给大家拜个年,祝大家新的一年里,技术突突突,头发长长长! 咱们搞技术的,比较直接,那就开始吧.我给大家看看我demo工程的效果(代码下边会给大家的): 技术栈是mybatis/m ...

  2. springboot p6spy 打印完整sql

    调试时打印出sql的需求,太正常不过了,mybatis也提供了这样的功能: mybatis: configuration: log-impl: org.apache.ibatis.logging.st ...

  3. laravel 打印完整sql语句

    laravel5 用DB自带的getQueryLog方法直接打印: DB::connection()->enableQueryLog(); // 开启QueryLog \App\User::fi ...

  4. laravel 打印完整sql

    DB::connection()->enableQueryLog(); // 开启QueryLog \App\User::find(1); dump(DB::getQueryLog());

  5. javaweb log4j显示完整sql日志

    javaweb显示完整sql日志 所需jar包: log4j-1.2.17.jar log4jdbc-1.2.jar slf4j-api-1.7.12.jar slf4j-log4j12-1.7.12 ...

  6. 保存 Mybatis打印的SQL日志到数据库

    之前做项目,一般会有一张,用户操作记录的数据表,里面主要包括一些,用户请求的URL和请求参数,用以记录用户做过哪些事情.并没有以文件的形式来做记录,当然只适合于一些用户量特别少的系统. 而Mybati ...

  7. mybatis完整sql调试

    问题描述 在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql ...

  8. 如何迁移完整SQL数据库到另外一台服务器

    如何迁移完整SQL数据库到另外一台服务器: https://jingyan.baidu.com/album/9f7e7ec080d1b36f28155422.html?picindex=1

  9. 设置Mybatis打印调试sql的两种方式

    http://blog.csdn.net/gao36951/article/details/53641432 ********************************************* ...

随机推荐

  1. jquery.elevateZoom实现仿淘宝看图片,一张小的,一张大用于鼠标经过时候显示

    实现这个效果你需要准备两张图片,一张小的,一张大用于鼠标经过时候显示.然后我们只要为img标签添加data-zoom-image属性,其值为大图的地址,最后在javascript中选择该图片调用ele ...

  2. UVA 11255 Necklace

    带颜色数限制的polya计数. 其实感觉一样了... #include<iostream> #include<cstdio> #include<cstring> # ...

  3. tomcat 优化配置 java-8 tomcat-7

    tomcat 优化配置 , 说明 一.并发优化 1.JVM调优 以下为1G物理内存tomcat配置: JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256 ...

  4. 基于Keepalvied的Mysql主主漂移(切换)

    Keepalived实现原理:Keepalived详细介绍简介 实验环境 Master1.Amoeba--IP:192.168.1.5 Master2---IP:192.168.1.10 同时安装ke ...

  5. (中等) HDU 2295 , DLX+重复覆盖+二分。

    Description N cities of the Java Kingdom need to be covered by radars for being in a state of war. S ...

  6. iOS设置状态栏的字体颜色

    设置statusBar的[前景色部分] 1.plist设置statusBar 在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置 ...

  7. Codeforces#362

    A题 题意:给定一串数列,t,t+s,t+s+1,t+2s,t+2s+1......问某一个数是否是数列当中的 题意:只需判断(x-t)与(x-t-1)能否整除s即可,注意起始时的判断 #includ ...

  8. margin负值布局(一)

    搜索关键词:margin  负-100% 链接地址: 负margin用法权威指南 负边距(negative margin)实现自适应的div左右排版 <div class="cont& ...

  9. 《玩转Bootstrap(基础)》笔记

    基本的HTML模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  10. 一起学JUCE之HashMap

    基于哈希表的 Map 接口的实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同.) ...