天天看點

SpringBoot 使用【p6spy-spring-boot-starter】內建 p6spy 監控資料庫(配置方法舉例)

1.簡單說明

p6spy 類似于 druid 可以攔截 SQL 可以用于項目調試,直接引入 p6spy 的博文已經很多了,這裡主要是介紹一下 springboot 使用 p6spy-spring-boot-starter 如何進行配置。

2.核心依賴

<dependency>
	<groupId>com.github.gavlyukovskiy</groupId>
	<artifactId>p6spy-spring-boot-starter</artifactId>
	<version>1.7.1</version>
</dependency>
           

3.主要配置

主要是【spring.datasource.driver-class-name】和【decorator.datasource.p6spy】相關配置。

spring:
  datasource:
    url: jdbc:p6spy:postgresql://xxx.xx.xxx.xxx:2345/gpdb
    username: gpadmin
    password: gpadmin
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
    type: com.alibaba.druid.pool.DruidDataSource
decorator:
  datasource:
    p6spy:
      logging: file
      log-file: spy.log
      log-format: executionTime:%(executionTime) | sql:%(sqlSingleLine)
           

4.簡單測試

調用項目中的某個接口之後…可以看到在目前項目的檔案夾下生成了 spy.log 檔案,且輸出的格式跟 log-format 配置的是一緻的。

5.其他配置

logging: file 模式可以儲存所有執行的SQL資訊,在我們調試項目的時候,如果我們隻需要控制台列印,那麼配置如下:

decorator:
  datasource:
    p6spy:
      logging: slf4j
           

輸出結果如下:

2021-07-19 15:00:56.523  INFO 2948 --- [nio-8088-exec-6] p6spy : 
executionTime:42 | sql:SELECT * FROM yz_test_match ytm WHERE ytm.field = '豫A666666';
           

繼續閱讀