本文主要是介绍p6spy+springboot 做数据库操作日志审计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss#定义输出格式 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日志
这篇关于p6spy+springboot 做数据库操作日志审计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!