深圳北站网站建设,三亚网络哪个好,电影订票网站怎么做,十堰秦楚网 十堰新闻门户网站前言
无论使用原生JDBC、mybatis还是hibernate#xff0c;使用log4j等日志框架可以看到生成的SQL#xff0c;但是占位符和参数总是分开打印的#xff0c;不便于分析#xff0c;显示如下的效果: googlecode Log4jdbc 是一个开源 SQL 日志组件#xff0c;它使用代理模式实…前言
无论使用原生JDBC、mybatis还是hibernate使用log4j等日志框架可以看到生成的SQL但是占位符和参数总是分开打印的不便于分析显示如下的效果: googlecode Log4jdbc 是一个开源 SQL 日志组件它使用代理模式实现对常用的 JDBC Driver Oracle , Derby , MySQL , PostgreSQL , H2 ,等操作的拦截记录真实 SQL 可以将占位符与参数全部合并在一起显示方便直接拷贝 SQL 在 MySQL 等客户端直接执行加快调试速度还有个类似功能的组件bgee.log4jdbc-log4j2。
版本
springboot 2.6.3spring-cloud-starter-alibaba 2021.0.1.0mybatis-plus-boot-starter 3.4.3.4数据库驱动
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactIdversion2.6.3/version
/dependency添加log4jdbc依赖
dependencygroupIdcom.googlecode.log4jdbc/groupIdartifactIdlog4jdbc/artifactIdscoperuntime/scopeversion1.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?useUnicodetruecharacterEncodingutf-8url: jdbc:log4jdbc:mysql://localhost:3306/test?useUnicodetruecharacterEncodingutf-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.driversfalse
log4jdbc.driverscom.mysql.cj.jdbc.Driver
#毫秒值.执行时间超过该值的SQL语句将被记录为error级别
log4jdbc.sqltiming.error.threshold3000
#毫秒值.执行时间超过该值的SQL语句将被记录为warn级别
log4jdbc.sqltiming.warn.threshold2000
#修剪已记录的SOL
log4jdbc.trim.sqltrue更多配置可以观察源码
效果图