springboot使用druid记录sql脚本日志

Posted will的猜想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot使用druid记录sql脚本日志相关的知识,希望对你有一定的参考价值。

方法一:

在application.properties设置开启slf4j过滤器

#开启slf4j过滤器

spring.datasource.druid.filter.slf4j.enabled=true

然后在logback-spring.xml文件配置日志输出

<logger name="druid.sql.Statement" level="DEBUG" additivity="false">
    <appender-ref ref="STDOUT" />  
</logger>


方法二:

在application.properties设置开启stat过滤器,该过滤器用于统计,并设置过滤器启动慢SQL日志和设置慢SQL的时间

#默认开启druid统计,sql日志记录查看logback-spring.xml的配置
spring.datasource.druid.filter.stat.enabled=true
#开启慢sql日志
spring.datasource.druid.filter.stat.log-slow-sql=true
#设置记录慢sql的时间,单位毫秒,执行时间大于等于3秒的SQL脚本都会记录
spring.datasource.druid.filter.stat.slow-sql-millis=3000
然后在logback-spring.xml文件配置日志输出
<!-- com.alibaba.druid.filter.stat.StatFilter 输出SQL脚本-->
    <logger name="com.alibaba.druid.filter.stat.StatFilter" level="ERROR" additivity="false">
        <appender-ref ref="STDOUT" />  
    </logger>

方式三

        //第一种方式
        dataSource.setFilters("stat,slf4j");

        //第二种方式
        List<Filter> filters = new ArrayList<>();
        Slf4jLogFilter slf4jLogFilter = new Slf4jLogFilter();
        filters.add(new StatFilter());
        filters.add(slf4jLogFilter);
        //防止日志输出太多
        slf4jLogFilter.setStatementPrepareAfterLogEnabled(false);
        slf4jLogFilter.setStatementExecuteAfterLogEnabled(false);
        dataSource.setProxyFilters(filters);

        Properties properties = new Properties();
        properties.setProperty("druid.stat.logSlowSql", "true");
        properties.setProperty("druid.stat.slowSqlMillis", "1");
        properties.setProperty("druid.log.stmt.executableSql", "true");
        dataSource.setConnectProperties(properties);

然后在logback-spring.xml文件配置日志输出

<logger name="druid.sql.Statement" level="DEBUG" additivity="false">
    <appender-ref ref="STDOUT" />  
</logger>

以上是关于springboot使用druid记录sql脚本日志的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot配置 druid 数据源配置 慢SQL记录

SpringBoot 监控统计:SQL监控慢SQL记录Spring监控去广告

SpringBoot 监控统计:SQL监控慢SQL记录Spring监控去广告

SpringBoot 监控统计:SQL监控慢SQL记录Spring监控去广告

SpringBoot系列七:SpringBoot 集成 MyBatis事物配置及使用druid 数据源druid 监控使用

使用druid的监控组件进行数据库连接池的监控