springboot+Druid+oracle 配置p6spy

Posted 扶不起的刘阿斗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot+Druid+oracle 配置p6spy相关的知识,希望对你有一定的参考价值。

p6spy可以将带参数的sql直接打出来方便调试。

1.gradle中引入

compile group: p6spy, name: p6spy, version: 3.8.1

2.resources目录下增加spy.properties

module.log=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat=xxx.P6SpyLogger #自己实现的P6SpyLogger
# 使用日志系统记录sql
appender=com.p6spy.engine.spy.appender.Slf4JLogger
## 配置记录Log例外
excludecategories=info,debug,result,batc,resultset
# 设置使用p6spy driver来做代理
deregisterdrivers=true
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动
driverlist=oracle.jdbc.OracleDriver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 秒
outagedetectioninterval=2

3.P6SpyLogger   

public class P6SpyLogger implements MessageFormattingStrategy {
    @Override
    public String formatMessage(int connectionId, String now, long elapsed,
                                String category, String prepared, String sql, String url) {
        return !"".equals(sql.trim()) ? "| took "
                + elapsed + "ms | " + category + " | connection " + connectionId + "
 "
                + P6Util.singleLine(sql) + ";" : "";
    }
}

4.DruidConfig

public DataSource druidDataSource() throws Exception {
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName("oracle.jdbc.OracleDriver");
        druidDataSource.setDbType("oracle");
        .......
        return new P6DataSource(druidDataSource);
    }

 

以上是关于springboot+Druid+oracle 配置p6spy的主要内容,如果未能解决你的问题,请参考以下文章

Springboot集成druid数据库连接池

SpringBoot整合Druid数据源

Springboot整合Druid数据源

05:springboot使用Druid作为项目数据源(添加监控)

2020-05-26:Springboot 连接oracle数据库配置

druid DBMS_RANDOM报错