最近在使用springboot配置sql打印信息时,玩了玩 P6spy,感觉还不错,可以很方便的查找sql语句的错误,能快速地定位到相应的语句,配置后的打印信息为:

2020-09-20 11:47:34.539  INFO 343736 --- [nio-8888-exec-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
11:47:34,583|24|statement|connection 0|url jdbc:p6spy:mysql://localhost:3306/hah|SELECT * FROM user|SELECT * FROM user
11:48:06,624|1|statement|connection 0|url jdbc:p6spy:mysql://localhost:3306/hah|SELECT * FROM user|SELECT * FROM user

P6spy相关的jar包及配置文件在文章末尾,接下来就对配置步骤进行讲解:

第一步:配置pom.xml文件

        <dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId><version>3.8.7</version></dependency>

第二步:将spy.properties文件放置在resources的根目录下

第三步:对spy.properties文件进行更改,因为我数据库用的mysql,所以用oracle的朋友自己再改一下哈

driverlist=com.mysql.jdbc.Driver
appender=com.p6spy.engine.spy.appender.StdoutLogger
appender=true
dateformat=hh:mm:ss,SSS

第四步:修改自己的驱动信息

#下面的是包含p6spy格式的驱动链接信息
spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/hah
spring.datasource.username=root
spring.datasource.password=123456

第五步:重新启动项目就可以了。 P6spy相关的其他配置信息如下,自己有选择的进行更改哈

配置项名称 默认值 配置项意义及相关注意事项
module.log com.p6spy.engine.logging. P6LogFactory 用来拦截和记录任务应用程序的 JDBC 语句。若无配置或注释掉则无此功能。
module.outage com.p6spy.engine.outage. P6OutageFactory 检测和记录执行时间比较长的 SQL 语句。若无配置或注释掉则无此功能。
realdriver   真正的应用系统应用的数据库驱动程序名称。
realdriver2   真正的应用系统应用的第二种备用数据库驱动程序名称。
realdriver3   真正的应用系统应用的第三种备用数据库驱动程序名称。
deregisterdrivers false 显示地把真正的数据库的驱动程序停止反注册掉。取值 true| false
executionthreshold   P6Log 模块执行时间设置,整数值 (以毫秒为单位),只有当超过这个时间才停止记录 Log。
outagedetection false P6Outage 模块是否记录较长时间运行的语句。取值 true| false
outagedetectioninterval   P6Outage 模块执行时间设置,整数值 (以秒为单位)),只有当超过这个时间才停止记录 Log。
filter false 是否过滤 Log,取值 true| false
include   过滤 Log 时所包含的表名列表,以逗号分隔。
exclude   过滤 Log 时所排除的表名列表,以逗号分隔。
sqlexpression   过滤 Log 时的 SQL 表达式名称
autoflush true 是否自动刷新。取值 true| false
dateformat   设置时间的格式,也就是用 Java 的 SimpleDateFormat 程序。
includecategories   显示指定过滤 Log 时包含的分类列表,取值为 error,info,batch,debug,statement,commit,rollback,result 的各种组合。
excludecategories   显示指定过滤 Log 时排队的分类列表,取值同上。
stringmatcher   应用正则表达式来过滤 Log,取值为 com.p6spy.engine.common.GnuRegexMatcher 和 com.p6spy.engine.common.JakartaRegexMatcher
stacktrace false 打印堆栈跟踪信息。取值 true| false
stacktraceclass   如果 stacktrace=true,则可以指定具体的类名来停止过滤。
reloadproperties false 监测属性配置文件是否停止重新加载。取值 true| false
reloadpropertiesinterval 60 属性配置文件重新加载的时间间隔,以秒为单位。
useprefix false 是否加上前缀,设置为 true,会加上 p6spy: 作为前缀。取值 true| false
appender com.p6spy.engine.logging. appender.FileLogger 指定 Log 的 appender,与 Log4J 有点同义,取值:com.p6spy.engine.logging.appender.Log4jLogger、com.p6spy.engine.logging.appender.StdoutLogger 和 com.p6spy.engine.logging.appender.FileLogger
logfile spy.log 指定 Log 的文件名,任何适于操作系统的文件。
append true 指定是否每次是增加 Log,设置为 false 则每次都会先停止清空。取值 true| false
log4j.appender.STDOUT org.apache.log4j.ConsoleAppender 当 appender 为 log4j 时采用的配置,配置如同 Log4J 的相关配置。
log4j.appender.STDOUT.layout org.apache.log4j.PatternLayout 同上
log4j.appender.STDOUT. layout.ConversionPattern p6spy - %m%n 同上
log4j.logger.p6spy INFO,STDOUT Log 级别的设置,取值同 Log4J 的配置
realdatasource   设置数据源 DataSource 的配置名称。
realdatasourceclass   设置数据源 DataSource 的类的全称。
realdatasourceproperties   设置数据源 DataSource 的属性,以分号分隔。
jndicontextfactory   设置 JNDI 数据源的 NamingContextFactory。
jndicontextproviderurl   设置 JNDI 数据源的提供者的 URL。
jndicontextcustom   设置 JNDI 数据源的一些定制信息,以分号分隔。

第六步:请关注下面的公众号回复P6spy,即可下载 P6spy的zip包

希望对您有帮助!

springboot 配置 P6spy相关推荐

  1. springboot使用p6spy打印完整SQL

    springboot使用p6spy打印完整SQL pom 平常使用orm框架的时候,虽然在spring boot配置文件上面配置过orm的打印sql语句之后,并不会真正打印出完整的sql pom &l ...

  2. springboot配置Redis哨兵主从服务 以及 Redis 集群

    redis哨兵集群配置 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从 ...

  3. SpringBoot配置属性之NOSQL

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

  4. springboot配置Druid数据源

    springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

  5. aop springboot 传入参数_java相关:springboot配置aop切面日志打印过程解析

    java相关:springboot配置aop切面日志打印过程解析 发布于 2020-3-31| 复制链接 摘记: 这篇文章主要介绍了springboot配置aop切面日志打印过程解析,文中通过示例代码 ...

  6. SpringBoot配置属性之Server

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

  7. 使用SpringBoot配置了 server.servlet.path后无效的解决方案

    使用SpringBoot配置了 server.servlet.path后无效的解决方案 参考文章: (1)使用SpringBoot配置了 server.servlet.path后无效的解决方案 (2) ...

  8. SpringBoot配置属性之MQ

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

  9. springboot配置cxf

    1.引入两个需要的jar <dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt ...

  10. SpringBoot配置属性之DataSource

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

最新文章

  1. 趣头条基于Flink+ClickHouse的实时数据分析平台
  2. Linux数据报文接收发送总结1
  3. 2层框架结构柱子间距_2分钟掌握五种不同类型的厂房结构,找厂房少绕弯!
  4. HashMap中提到的散列是什么?
  5. 栈溢出笔记1.2 覆盖EIP
  6. Microsoft Office Visio 2010如何创建UML 用例图
  7. 计算机图形学用到哪些概率知识,图形学所需的数学知识
  8. 笔记本电脑测试性能哪个软件好,新笔记本测试如何进行 旧笔记本测试性能【图文】...
  9. Linux学习笔记之秋水BBR一键部署
  10. 一个具有多个组件的在线平面图设计 平面图 在线制图
  11. 解决 eclipse 上 Keystore was tampered with, or password was incorrect
  12. 手机信号排行榜出炉!教你一招查看、提升手机信号
  13. 常见的几种页面内容布局方式
  14. .net core 3.1精伦身份证读卡器IDR210-2(部标版)二次开发
  15. 【EMV L2】Select PSE应用选择相关的卡片数据格式
  16. iPad 上有哪些实用得令人惊艳的 App?
  17. 计算机图形学研究软件
  18. 利用云服务器搭建网站
  19. kali 安装步骤失败,选择并安装软件包,失败解决方法 “换源”
  20. 浅析 智慧城市“数字孪生”IOC应用

热门文章

  1. SCI期刊分区-JCR分区 中科院分区
  2. 华硕服务器主板安装系统提示驱动,肿么安装电脑的主板芯片组驱动程序步骤华硕主板intel芯片...
  3. 等保二级和等保三级的三大区别讲解
  4. python 微服务 网关_关于API微服务网关
  5. 微服务网关 vs K8s Ingress
  6. 创建vue项目常用命令
  7. python是一门胶水语言_python为何被称之为胶水语言
  8. 网易云自动签到云函数【详细版】-2022.5.4
  9. 六自由度机械臂参数化设计
  10. 罗马音平假名片假名转换器_平假名与片假名