当前位置: 首页 > news >正文

googlecode.log4jdbc慢sql日志,格式化sql

前言

无论使用原生JDBC、mybatis还是hibernate,使用log4j等日志框架可以看到生成的SQL,但是占位符和参数总是分开打印的,不便于分析,显示如下的效果:
在这里插入图片描述
在这里插入图片描述
googlecode Log4jdbc 是一个开源 SQL 日志组件,它使用代理模式实现对常用的 JDBC Driver( Oracle , Derby , MySQL , PostgreSQL , H2 ,等)操作的拦截,记录真实 SQL ,可以将占位符与参数全部合并在一起显示,方便直接拷贝 SQL 在 MySQL 等客户端直接执行,加快调试速度,还有个类似功能的组件bgee.log4jdbc-log4j2。

版本

  • springboot
    2.6.3
  • spring-cloud-starter-alibaba
    2021.0.1.0
  • mybatis-plus-boot-starter
    3.4.3.4
  • 数据库驱动
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>2.6.3</version>
</dependency>

添加log4jdbc依赖

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

替换jdbc驱动

spring:datasource:type: com.zaxxer.hikari.HikariDataSource
#    driver-class-name: com.mysql.cj.jdbc.Driverdriver-class-name: net.sf.log4jdbc.DriverSpyusername: rootpassword: 123456
#    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8url: jdbc:log4jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8hikari:minimum-idle: 1maximum-pool-size: 5auto-commit: trueread-only: falseconnection-init-sql: SELECT 1 FROM DUALconnection-test-query: SELECT 1 FROM DUALpool-name: HikariCPidle-timeout: 30000connection-timeout: 30000max-lifetime: 300000min-idle: 2

在项目resources目录下添加log4jdbc.properties文件

# 关闭自动加载受欢迎驱动
log4jdbc.auto.load.popular.drivers=false
log4jdbc.drivers=com.mysql.cj.jdbc.Driver
#毫秒值.执行时间超过该值的SQL语句将被记录为error级别
log4jdbc.sqltiming.error.threshold=3000
#毫秒值.执行时间超过该值的SQL语句将被记录为warn级别
log4jdbc.sqltiming.warn.threshold=2000
#修剪已记录的SOL
log4jdbc.trim.sql=true

更多配置可以观察源码
在这里插入图片描述

效果图

在这里插入图片描述

http://www.lryc.cn/news/275698.html

相关文章:

  • Linux程序、进程和计划任务
  • 【MySQL】索引基础
  • 精确管理Python项目依赖:自动生成requirements.txt的智能方法
  • JavaWeb基础(1)- Html与JavaScript(JavaScript基础语法、变量、数据类型、运算符、函数、对象、事件监听、正则表达式)
  • java SSM体育器材租借管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
  • 西电期末1030.函数的最大值
  • 在Docker中安装Tomact
  • 【书生大模型00--开源体系介绍】
  • 基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理
  • 一款开源的MES系统
  • https配置证书
  • 图神经网络|10.4 GCN 变换原理的解读
  • 计算机组成原理 I/O方式
  • VMWare网络配置
  • opencv期末练习题(3)附带解析
  • 51单片机之LED灯
  • 操作系统内存碎片
  • 三菱plc学习入门(二,三菱plc指令,触点比较,计数器,交替,四则运算,转换数据类型)
  • Spring学习之——代理模式
  • 【Linux】之搭建 PostgreSQL 环境
  • docker 安装elasticsearch、kibana、cerebro、logstash
  • C/C++ 联合体
  • 基于SSM的基金投资交易管理网站的设计与实现
  • JS数据类型转换成Boolean型
  • uni-app页面数据传参方式
  • 计算机网络实验(二):Wireshark网络协议分析
  • Spark内核解析-数据存储5(六)
  • ASP.NET Core高级之认证与授权(一)--JWT入门-颁发、验证令牌
  • 实例:NodeJS 操作 Kafka
  • AI实景无人直播创业项目:开启自动直播新时代,一部手机即可实现增长