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

集成 OceanBase 并打印 SQL 日志

集成 OceanBase 并打印 SQL 日志

在 Java 应用中集成 OceanBase 并打印 SQL 日志,可以通过配置日志框架(如 Logback、Log4j2)或启用 OceanBase JDBC 驱动的日志功能实现。以下是具体方法:


方法一:通过 JDBC 驱动参数启用日志

OceanBase 的 JDBC 驱动基于 MySQL 协议,可以通过传递参数启用 SQL 日志:

String url = "jdbc:mysql://your_oceanbase_host:port/database?logger=Slf4JLogger&profileSQL=true";
Connection connection = DriverManager.getConnection(url, username, password);

  • logger=Slf4JLogger:指定使用 SLF4J 输出日志。
  • profileSQL=true:启用 SQL 语句记录。

方法二:配置日志框架(以 Logback 为例)

logback.xml 中配置 OceanBase JDBC 驱动的日志级别:

<configuration><logger name="com.mysql.jdbc" level="DEBUG"/><logger name="com.mysql.jdbc.Connection" level="DEBUG"/><logger name="com.mysql.jdbc.Statement" level="DEBUG"/><logger name="com.mysql.jdbc.ResultSet" level="DEBUG"/>
</configuration>

OceanBase 的 JDBC 驱动兼容 MySQL 协议,因此日志类别与 MySQL 一致。


方法三:使用 HikariCP 等连接池的日志配置

如果使用 HikariCP 连接池,可通过以下配置打印 SQL 日志:

# application.yml (Spring Boot 示例)
spring:datasource:hikari:data-source-properties:logger: Slf4JLoggerprofileSQL: true


方法四:ORM 框架日志配置

MyBatis 配置:mybatis-config.xml 中启用日志:

<configuration><settings><setting name="logImpl" value="SLF4J"/></settings>
</configuration>

JPA/Hibernate 配置:application.properties 中设置:

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE


注意事项

  1. 确保项目中已引入对应的日志框架依赖(如 logback-classiclog4j2)。
  2. 生产环境中建议将日志级别调整为 INFOWARN,避免日志量过大。
  3. OceanBase 的日志输出可能因驱动版本不同略有差异,建议参考官方文档。

通过上述方法,可以清晰地捕获 OceanBase 的 SQL 执行日志,便于调试和性能分析。

http://www.dtcms.com/a/329327.html

相关文章:

  • 老生常谈智能指针:《More Effective C++》的条款28
  • PCIe Base Specification解析(十一)
  • nginx高性能web服务器实验
  • 【114页PPT】基于SAPSRM数字化采购解决方案(附下载方式)
  • Java面试宝典:G1垃圾收集器下
  • hadoop 前端yarn查看
  • 完整源码+技术文档!基于Hadoop+Spark的鲍鱼生理特征大数据分析系统免费分享
  • 以太坊的下一个十年:Vitalik Buterin的愿景与挑战
  • Day51--图论--99. 岛屿数量(卡码网),100. 岛屿的最大面积(卡码网)
  • 互联网大厂Java求职面试实录:Spring Boot到微服务与AI的技术问答
  • day50 图论基础 卡码网98. 所有可达路径
  • Day52--图论--101. 孤岛的总面积(卡码网),102. 沉没孤岛(卡码网),103. 水流问题(卡码网),104. 建造最大岛屿(卡码网)
  • java学习 leetcode 二分查找 图论
  • 【25-cv-09259】Keith律所代理Macneil Studio发起TRO狙击!
  • AI产品:从功能固化到动态进化
  • 职场与生活如何在手机中共存?(二)
  • 斯坦福大学联合项目 | ReKep 方法论文解读:机器人操作中关系关键点约束的时空推理
  • AutoCAD 各版本与插件合集详解:Architecture、Plant 3D、Civil 3D 等
  • 猿大师中间件:Chrome网页内嵌PhotoShop微信桌面应用程序
  • [Linux]学习笔记系列 -- [arm][process]
  • Node.js面试题及详细答案120题(16-30) -- 核心模块篇
  • AXIOS 入门
  • 2025 环法战车科技对决!维乐 Angel Glide定义舒适新标
  • 2025年最新Java后端场景面试题(大厂真题+解析)
  • 低空经济相关技术在智能建造与建筑行业有什么用处?
  • 图论理论部分
  • wps--设置
  • 读《精益数据分析》:双边市场的核心指标分析
  • 宿舍限电模块在宿舍改造项目中功能选择
  • Java数据库编程之【Derby数据库】【JDBC创建数据库例程】【三】