springboot 配置 P6spy
最近在使用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相关推荐
- springboot使用p6spy打印完整SQL
springboot使用p6spy打印完整SQL pom 平常使用orm框架的时候,虽然在spring boot配置文件上面配置过orm的打印sql语句之后,并不会真正打印出完整的sql pom &l ...
- springboot配置Redis哨兵主从服务 以及 Redis 集群
redis哨兵集群配置 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从 ...
- SpringBoot配置属性之NOSQL
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- springboot配置Druid数据源
springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...
- aop springboot 传入参数_java相关:springboot配置aop切面日志打印过程解析
java相关:springboot配置aop切面日志打印过程解析 发布于 2020-3-31| 复制链接 摘记: 这篇文章主要介绍了springboot配置aop切面日志打印过程解析,文中通过示例代码 ...
- SpringBoot配置属性之Server
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- 使用SpringBoot配置了 server.servlet.path后无效的解决方案
使用SpringBoot配置了 server.servlet.path后无效的解决方案 参考文章: (1)使用SpringBoot配置了 server.servlet.path后无效的解决方案 (2) ...
- SpringBoot配置属性之MQ
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- springboot配置cxf
1.引入两个需要的jar <dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt ...
- SpringBoot配置属性之DataSource
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
最新文章
- 趣头条基于Flink+ClickHouse的实时数据分析平台
- Linux数据报文接收发送总结1
- 2层框架结构柱子间距_2分钟掌握五种不同类型的厂房结构,找厂房少绕弯!
- HashMap中提到的散列是什么?
- 栈溢出笔记1.2 覆盖EIP
- Microsoft Office Visio 2010如何创建UML 用例图
- 计算机图形学用到哪些概率知识,图形学所需的数学知识
- 笔记本电脑测试性能哪个软件好,新笔记本测试如何进行 旧笔记本测试性能【图文】...
- Linux学习笔记之秋水BBR一键部署
- 一个具有多个组件的在线平面图设计 平面图 在线制图
- 解决 eclipse 上 Keystore was tampered with, or password was incorrect
- 手机信号排行榜出炉!教你一招查看、提升手机信号
- 常见的几种页面内容布局方式
- .net core 3.1精伦身份证读卡器IDR210-2(部标版)二次开发
- 【EMV L2】Select PSE应用选择相关的卡片数据格式
- iPad 上有哪些实用得令人惊艳的 App?
- 计算机图形学研究软件
- 利用云服务器搭建网站
- kali 安装步骤失败,选择并安装软件包,失败解决方法 “换源”
- 浅析 智慧城市“数字孪生”IOC应用