DriverSpy-springboot中的配置及应用
SpringBoot中打印mybatis的sql执行时间、完整的sql语句
1、简介
有时候我们程序的接口比较耗时,需要优化,这时我们可能需要了解该接口执行了哪些sql语句以及耗时。
2、maven依赖:
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
3.引入配置文件 log4jdbc.log4j2.properties
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
4.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"/>
5.修改yml:
# driver-class-name: com.mysql.jdbc.Driver
# url: jdbc:mysql://ip:port/database_name?useSSL=false&characterEncoding=utf8&autoReconnect=true
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://ip:port/database_name?useSSL=false&characterEncoding=utf8&autoReconnect=true
driver-class-name 修改为:net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url 修改为:jdbc:log4jdbc:mysql:// (在原来的jdbc后面加了:log4jdbc:)
完成!!!
效果: