log4jdbc使用详情

SQL/日志监控框架log4jdbc 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。新入手一个项目,想要了解其业务逻辑,看其SQL是必不可少的,但是为了更明了的学习,我们往往需要把SQL拿出来,调试和验证。mybatis:但是这里打印的SQL,你传递的参数是以?来代替的,因为MyBatis使用的是占位符,不是拼接SQL,那么如何把具体执行的SQL打印出来? 阅读详情

log4jdbc使用详情

前言

使用mybatis打印sql日志信息时参数部分总是以“?”代替,每次还要自己对参数,过于麻烦。

开始

maven依赖

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

修改yml配置文件
原:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8

改:

spring:
  datasource:
    driver-class-name: net.sf.log4jdbc.DriverSpy
    url: jdbc:log4jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8

日志文件修改
logback.xml 类型:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="jdbc.connection" additivity="false" level="FATAL">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.resultset" additivity="false" level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.audit" additivity="false" level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.sqlonly" additivity="false" level="DEBUG">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.sqltiming" additivity="false" level="DEBUG">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
</configuration>

log4j.xml 类型:

<!-- 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"/>

log4j.properties 类型:

# 记录系统执行过的sql语句
#log4j.additivity.jdbc.sqlonly=true
log4j.logger.jdbc.sqlonly=DEBUG,console
# 控制台输出
log4j.appender.console=org.apache.log4j.ConsoleAppender 
# 控制台输出格式定义 
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
# 记录sql执行的时间,可以分析耗时的sql语句
#log4j.additivity.jdbc.sqltiming=true
#log4j.logger.jdbc.sqltiming=INFO,console  
# 记录除了ResultSet外的所有JDBC调用情况,一般不需要
#log4j.additivity.jdbc.audidt=true
#log4j.logger.jdbc.audit=INFO,console
# 记录返回结果集信息
#log4j.additivity.jdbc.resultset=true
#log4j.logger.jdbc.resultset=INFO,console
# 记录数据库连接和释放信息,可记录当前的数据库连接数,便于诊断连接是否释放
#log4j.additivity.jdbc.connection=true
#log4j.logger.jdbc.connection=INFO,console
#成功之后的日志
2020-08-11 11:33:43.613 [pool-3-thread-3] DEBUG org.hibernate.SQL - 
select * from user where userId='479fd5d1-d086-430d-8ccd-f022b5278d1'
使用log4jdbc输出sql操作 文章目录前言特性配置依赖配置 application添加 log4jdbc.log4j2.properties添加 logback.xml 前言 log4jdbc 是一个 JDBC 驱动器,能够记录 SQL 日志和 SQL 执行时间等信息。log4jdbc 使用 SLF4J(Simple Logging Facade)作为日志系统。 特性 支持 JDBC3 和 JDBC4 。 支持现有大部分 JDBC 驱动。 易于配置(在大部分情况下,只需要改变驱动类名并在 jdbc url 中加上:log4jdbc,设 阅读详情

相关推荐

ARM的CI-700和Arteris的NoC对比

设计理念:CI-700注重于为移动和客户端SoC提供定制化的互连解决方案,而Arteris的NoC更侧重于提供灵活、可配置的网络互连技术,适用于多种应用场景。性能与功耗:CI-700通过系统级缓存和网状拓扑结构优化性能和功耗,而Arteris的NoC通过物理感知和多协议支持来提升性能和降低功耗。功能安全:Arteris的NoC提供了功能安全支持,这对于汽车和工业应用尤为重要,而CI-700虽然也关注安全性,但未明确提及功能安全支持。互操作性。

ygyglg的专栏 2622

Java - log4jdbc 使用与原理介绍(SQL/日志监控)

Java - log4jdbc(SQL/日志监控) 前言 之前老板让实现一个日志服务器,然而我们都不知道已经有现成的日志监控包直接使用(没有站在巨人肩膀上干活,害) 本篇主要介绍 log4jdbc,在进行系统开发时,我们一般会查看执行的SQL/了解SQL执行时间,这个时候其实可以代码在sql执行前后计算时间,框架执行sql的时候进行sql输出,其实也是可以实现的,但是有更简单的干嘛不用呢~,学习了 log4jdbc 然后来记录一下 log4jdbc介绍 1、简介 log4jdbc 是一个 Java JDB

weixin_42272869的博客 5789

电表协议避坑指南:DLT645-2007与Modbus RTU的5大核心差异对比

本文深入对比了DLT645-2007与Modbus RTU两大电表通讯协议的核心差异,涵盖协议定位、数据地址、报文结构及实测性能。DLT645-2007作为电力行业标准,数据定义统一但效率受限;Modbus RTU作为通用协议,灵活高效但需依赖厂家点表。文章结合实测数据与开发经验,为不同场景下的协议选型与编程实践提供了清晰的避坑指南。

weixin_29166013的博客 108

log4jdbc使用介绍

0 前言 使用java进行数据库操作时最痛苦的莫过于拼接SQL语句。在实际运行时往往需要查看实际生成的SQL语句和实际传入的参数,或许还会有查看SQL执行时间等的需求。   无论原生JDBC、dbutils、mybatis还是hibernate,使用log4j等日志框架可以看到生成的SQL,但是占位符和参数总是分开打印的。实在是不太友好。显示如下的效果: select * from

u013409283的博客 1万+

cadence allegro 17.x 降版本到16.6的转换工具

Cadence17.x版本降低到16.6版本转换工具 下载链接:Cadence17.x版本降低到16.6版本转换工具   使用方法: 软件使用比较简单,在「第一个路径输入栏」浏览指向17.x的设计文件,也就是需要降版本的17.4或者17.2的文件,然后在「第二个路径输入栏」里浏览指向转换后的文件保存路径,然后点击「转换」按钮即可。 ...

ltqdxl的博客 1万+

人大金仓集群部署(主备)

4.2 上传安装包镜像和授权文件到install目录下并授权。1、复制系统脚本到/opt/kingbase目录下(主节点)4.2 修改cluster_install.sh。回车进行下一步,直到出现以下界面,回复Y键回车。三、安装kingbase客户端段(都要安装)install目录作为安装包具体存放目录。4.1 修改install.conf文件。2、复制授权文件到安装目录下(主节点)3、修改ssh参数(节点都要配置)5、安装kingbase客户端。二、基本环境配置(都要配置)6、数据库集群安装(主节点)

edutech_wang的博客 1995

log4jdbc输出SQL原始日志

在日常的日志打印中,SQL日志都是先打印preperstatement,再打印参数,这样很不方便,可以通过log4jdbc或者P6Spy来进行代理打印。我们这里讲log4jdbc。

lantianmimeng的博客 1145

【软件介绍】RVC本地部署使用方法

【摘要】RVC是一款功能强大的开源语音转换工具,具有实时处理、多音效选择、高质量音频处理等特点。文章详细介绍了RVC的安装与使用方法:1)配置Python环境;2)根据电脑系统选择对应安装包解压;3)启动程序进入浏览器操作界面。重点讲解了声音克隆的关键步骤:建议使用短音频素材,选择合适训练方法(推荐pm或rmvpe),设置100次训练轮数,生成的模型文件存入weights文件夹。最后通过上传音频即可实现声音克隆。操作过程需注意保持程序运行状态,并提供了相关资源下载地址。

心动的那一刻,记忆便盛开了花 2977

java项目使用log4jdbc打印sql日志

sql日志输出

qq_61367293的博客 8400

FreeRTOS-Plus-CLI使用笔记

FreeRTOS-Plus-CLI使用笔记 一、简介 详细介绍可参考FreeRTOS-Plus-CLI官网地址入口 FreeRTOS+CLI(Command Line Interface, 命令行接口)提供了一种简单、小型、可扩展且RAM高效的方法,使FreeRTOS应用程序能够处理命令行输入。添加一条指令的步骤如下: 提供一个实现命令功能的函数 将命令映射到该功能函数 注册命令 运行命令解释器 命令行调试接口对于排查分析出现的问题提供了很好的接口,可以通过查看传感器信息判断传感器是否正常,可以查看内置

ApexYuan 6964

[SDIO] SD card 初始化及常用命令解析(附波形,uboot代码)

目录 初始化 1.cmd 0 2.cmd8 3.cmd55 4.acmd41 5.cmd2 6.cmd3 7.cmd9 8.cmd13 9.cmd7 10.ACMD51 11.CMD6 12.CMD16 13.CMD17 14.CMD18 15.CMD12 tuning CMD19 DW_SDHCI的tuning流程 初始化 1.cmd 0 /* Reset the Card */ err = mmc_go_idle(mmc...

Lenz_s_law的开发记录本 2万+

log4jdbc mysql jdbc_SSM中使用log4jdbc记录SQL信息

使用log4jdbc在不改变原有代码的情况下,就可以收集执行的SQL文和JDBC执行情况。平时开发使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Developer客户端直接执行,需要自己拼凑sql。而log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷...

weixin_35554226的博客 232

手把手教你学Simulink——基于Simulink的固态变压器(SST)多级协同控制

摘要:本文详细介绍了基于Simulink的固态变压器(SST)多级协同控制方法。SST作为新一代智能电网核心设备,通过AC-DC整流、DC-DC隔离和DC-AC逆变三级架构实现电能高效转换。针对多级耦合难题,提出能量-功率协同控制策略:纵向解耦电压环与功率前馈,横向联动级间功率指令。在Simulink中搭建10kV/400V系统模型,实现直流母线电压波动<2%的动态性能。特别设计了负载突变时的三级协同机制,通过虚拟惯性算法和前馈控制实现快速响应。文章包含完整的建模步骤、控制推导和参数设置,为电力电子工

MHD0815的博客 195

Log4jdbc-log4j2打印mybatis语句

引言: 在项目中使用了MyBatis,一个比较苦恼的问题是无法看到执行的SQL的具体情况,所以,就找到了Log4jdbc-log4j2。这个是一个基于jdbc层面的监听工具,可以监听对于数据库的主要操作,从而完美的查看到其中执行的操作。 1. Log4jdbc-log4j2版本选择 log4jdbc-log4j2-jdbc3.jar for JDBC 3 support in JDK 1.5 log4jdbc-log4j2-jdbc4.jar for JDBC 4 support in JDK 1

入门菜鸟程序员的成长 605

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

使用log4jdbc记录SQL信息

一、log4jdbc的简单介绍   使用log4jdbc在不改变原有代码的情况下,就可以收集执行的SQL文和JDBC执行情况。   平时开发使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL...

chengluwei3014的博客 80

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

探索Java日志神器:Log4jdbc

探索Java日志神器:Log4jdbc 在软件开发中,日志记录是不可或缺的一部分,它帮助我们了解系统运行状况、定位问题和优化性能。对于Java开发者而言,log4jdbc是一个值得了解和使用的开源项目。它将数据库查询的日志功能集成到JDBC层,使得我们可以对数据库访问进行深度监控。 项目简介 log4jdbc是基于log4j的一个扩展,它允许开发者在应用程序执行SQL语句时收集详细的日志信息。这些...

gitblog_00071的博客 535

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

log4jdbc sql监控

log4jdbc 可以和sl4j 很好的整合 并输出日志 可以捕获程序最终调用jdbc时的一些状态 可以获取完整的sql语句,包括注入?的参数值 sql语句可以直接运行 可以获取sql语句的执行耗时 可以获取jdbc获取结果集时的详细信息过程 可以获取jdbc连接的信息   log4jdbc3-1.2beta2.jar  支持 JDK 1.4 , JDK 1.5log4jdbc4-...

Macross 238

mybatis log4j 在日志中打印sql_mybatis打印带参数sql几种实现方式及优缺点

mybatis打印带参数sql几种实现方式及优缺点1. log4jdbclog4jdbc是google开源的用于专们打印sql日志的工具jar包,使用方法很简单。第一步:引入maven包,如下:com.googlecode.log4jdbclog4jdbc1.2第二步:更改jdbc的驱动名称和连接名称,主要是标红部分:(jdbc.properties)driverClassName=net.sf...

weixin_39851279的博客 785

java得到log4j的sql_javaweb log4j显示完整sql日志

javaweb显示完整sql日志所需jar包:log4j-1.2.17.jarlog4jdbc-1.2.jarslf4j-api-1.7.12.jarslf4j-log4j12-1.7.12.jarjar包添加完成后,添加log4j.propertieslog4j.rootCategory=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.Con...

weixin_42347739的博客 271

log4jdbc使用

<br />一、项目介绍<br /> <br />log4jdbc项目地址:http://code.google.com/p/log4jdbc/<br /> <br />可以将原先的参数占位符“?”,替换为实际参数值,方便调试<br />如:select username,password from bitth_date > ? and age < ? <br />替换为:select username,password from bitth_date > to_date(‘2010-11-11’,’yyy

mypop的专栏 4428

log4jdbc

0 前言 使用java进行数据库操作时最痛苦的莫过于拼接SQL语句。在实际运行时往往需要查看实际生成的SQL语句和实际传入的参数,或许还会有查看SQL执行时间等的需求。 无论原生JDBC、dbutils、mybatis还是hibernate,使用log4j等日志框架可以看到生成的SQL,但是占位符和参数总是分开打印的。实在是不太友好。显示如下的效果: select * from

宛丘 3135

jdbc:log4jdbc_使用Log4jdbc记录JDBC操作

jdbc:log4jdbc 当我们开发任何应用程序,完成它或结束其任何模块时,我们都会开始优化过程。 大多数应用程序都包含数据库访问权限,如果您使用的是ORM ,则可能会使用hibernate 。 优化Hibernate持久层,要求准备阅读,理解和评估sql 。 如果我们对Hibernate配置进行概述,则应启用两个属性hibernate.format_sql和hibernate.use_s...

最佳 Java 编程 1764

log4jdbc oracle,log4jdbc 使用

像 hibernate, mybatis 都是不打印真正执行的sql的,所以借助 log4jdbc 打印sql以及统计执行时间是非常方便的。配置log4jdbc 有很多种方法,比如通过spring的拦截器。最简单的方法就是在jdbc.url 连接参数加上log4jdbc,然后引入相应的log4jdbc包即可。COMMENT 原连接参数:jdbc.url=jdbc:mysql://127.0.0.1...

weixin_30431445的博客 718

jdbc log4jdbc mysql_log4jdbc 使用入门

log4jdbc 可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在PLSQL Developer等客户端直接执行,加快调试速度. 记录执行的sql及其耗时等.1.测试代码package com.mtea.demo.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedSt...

weixin_35989968的博客 997

jdbc log4jdbc mysql_Log4jdbc数据库访问日志框架使用 - jdbc

第一种:使用JDBC的ACCESS驱动程序: 在http://industry.java.sun.com/products/jdbc/drivers下载ACCESS的JDBC驱动程序。 第二种:使用JDBC-ODBC桥访问: Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(jdbc:od...

weixin_39916520的博客 572

log4jdbc的使用

google code项目地址:http://code.google.com/p/log4jdbc-remix/ 新项目log4jdbc-log4j2地址:https://code.google.com/p/log4jdbc-log4j2/ 操作: 1、加入依赖: &lt;dependency&gt;     &lt;groupId&gt;org.lazyluke&lt;/groupId&...

az44yao的专栏 1073
上一篇: POI ${}读取拆分问题
下一篇: IDEA常用插件推荐
xiao道士
博客等级 码龄8年 24粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值