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 + "\n "
                + 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);
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM