zoukankan      html  css  js  c++  java
  • springBoot中打印mybatis的sql执行时间、完整的sql语句

    springBoot中打印mybatis的sql执行时间、完整的sql语句

    有时候我们程序的接口比较耗时,需要优化,这时我们可能需要了解该接口执行了哪些sql语句以及耗时。

    maven依赖:

      <!--监控sql日志,log4jdbc监控jdbc层-->
            <dependency>
                <groupId>org.bgee.log4jdbc-log4j2</groupId>
                <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
                <version>1.16</version>
            </dependency>

    2.引入配置文件 log4jdbc.log4j2.properties

    log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

    3.logback-spring.xml 里加入如下内容

      <logger name="jdbc.connection" level="OFF"/>
        <logger name="jdbc.resultset" level="OFF"/>
        <logger name="jdbc.resultsettable" level="OFF"/>
        <logger name="jdbc.audit" level="OFF"/>
        <!--ps:sqltiming和sqlonly差别是多打印了sql语句的耗时,如果不想要这个时间可以修改筛选里面的项。-->
        <logger name="jdbc.sqltiming" level="INFO"/>
        <logger name="jdbc.sqlonly" level="OFF"/>

    4、修改yml:

          #   driver-class-name: com.mysql.jdbc.Driver
          #   url: jdbc:mysql://39.100.153.187:3306/common-crm?useSSL=false&characterEncoding=utf8&autoReconnect=true
          driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
          url: jdbc:log4jdbc:mysql://39.100.153.187:3306/common-crm?useSSL=false&characterEncoding=utf8&autoReconnect=true

      driver-class-name 修改为:net.sf.log4jdbc.sql.jdbcapi.DriverSpy

      url 修改为:jdbc:log4jdbc:mysql:// (在原来的jdbc后面加了:log4jdbc:)

    完成!!!

    效果:

  • 相关阅读:
    20200311 1. 消息中间件概述
    20200311 0. RabbitMQ 安装
    20210309 java.lang.Integer
    20210304. Redis【归档】
    20210304. 8. Redis 大厂面试汇总
    20210304. 7. Redis 企业实战
    20210304. 6. Redis 高可用方案
    20210304. 5. Redis 扩展功能
    Evolution Strategies as a Scalable Alternative to Reinforcement Learning
    脉冲神经网络研究现状及展望——论文摘抄
  • 原文地址:https://www.cnblogs.com/dw3306/p/13229825.html
Copyright © 2011-2022 走看看