0
点赞
收藏
分享

微信扫一扫

p6spy+springboot 做数据库操作日志审计

绪风 2022-02-25 阅读 36

1.pom文件中引入p6spy

        <!-- https://mvnrepository.com/artifact/p6spy/p6spy -->
        <dependency>
            <groupId>p6spy</groupId>
            <artifactId>p6spy</artifactId>
            <version>3.8.7</version>
        </dependency>

2.修改application配置文件

修改2处
1.修改driver-class-name
spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver

2.修改url数据库连接,增加 p6spy
spring.datasource.url=jdbc:p6spy:mysql://121.0.0.1:3306/xxx?autoReconnect=true

#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
spring.datasource.url=jdbc:p6spy:mysql://121.0.0.1:3306/xxx?autoReconnect=true

3.新增spy.properties配置文件

# 实际驱动,原来application配置文件的driver-class-name
driverlist=com.mysql.cj.jdbc.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 秒
outagedetectioninterval=2
# 自定义输出
logMessageFormat=com.p6spy.engine.spy.appender.CustomLineFormat
#定义输出格式 url 可以打出当前的数据库连接
customLogMessageFormat=%(currentTime) | SQL耗时: %(executionTime) ms | 连接信息: %(url)-%(category)-%(connectionId) | 执行语句: %(sqlSingleLine)

#设置apperder,这里希望把sql执行日志,单独打印到一个文件,再通过ELK进行入库查询.做审计
appender=com.p6spy.engine.spy.appender.FileLogger

#输出的日志文件
logfile=logs/test-spy.log

4.验证

访问接口,打印sql

http://localhost:8080/composeVolumes/1

打印mybatis日志
在这里插入图片描述
查看test-spy.log可以看到打印的p6spy日志
在这里插入图片描述

举报

相关推荐

0 条评论