MyBatis-Plus如何关闭SQL日志打印详解

 更新时间:2024年03月01日 11:12:33   作者:qyhua  
在使用mybatisplus进行开发时,日志是一个非常有用的工具,它可以帮助我们更好地了解和调试我们的代码,这篇文章主要给大家介绍了关于MyBatis-Plus如何关闭SQL日志打印的相关资料,需要的朋友可以参考下

前言

前段时间公司的同事都过来问我,hua哥公司的项目出问题了,关闭不了打印sql日记,项目用宝塔自己部署的,磁盘满了才发现大量的打印sql日记,他们百度过都按照网上的配置修改过不起作用,而且在调试时候也及为不方便,大量的红色sql日记输出找不着北。

MyBatis-Plus配置关闭打印SQL日记失效

百度了一圈,基本上都是说配置 org.apache.ibatis.logging.nologging.NoLoggingImpl,配置依然存在打印日记,如下图:

看到上图的配置和打印出来的日记就说失效了?

追本溯源,关闭打印日记是真的失效吗?

 直接从代码下手,找到打印日记的类,是在PerformanceInterceptor类发现打印日记的,如下图:

找到根源了就好办了,查看这是性能分析拦截器,只要是涉及查询,更新,插入的sql都会被拦截下来打印出来?我们顺着这个类继续找,在springboot的配置中找到加载PerformanceInterceptor的方法如图:

找到问题与解决问题 

找到了加载的地方,直接注释代码即可,启动时就不再加载截了。该方法上有个Profile的注解带有1个参数是指定只有在使用dev配置文件时才会生效,我们也可以改变这个名称或者项目用别的配置名称也可以起到不加载的作用。

前台再次查询,发现后台没有也没有打印sql日记了 ,这次正常了。

 我们再来看看org.apache.ibatis.logging.nologging.NoLoggingImpl是怎么回事?

这次我们把org.apache.ibatis.logging.nologging.NoLoggingImpl注释,还原配置使用org.apache.ibatis.logging.stdout.StdOutImpl 配置发现此时又可以打印日记了,也就是说我们原先的配置org.apache.ibatis.logging.nologging.NoLoggingImpl是有效的。

定位打印代码,这里打印用的是System.out.println(s)是白色的,而上面打印用System.err.println(S)是红色的。

总结 

这里的org.apache.ibatis.logging.nologging.NoLoggingImpl失效与使用了PerformanceInterceptor类有关,springboot启动加载配置阶段会加载PerformanceInterceptor拦截器在执行sql时因为被PerformanceInterceptor拦截在该类内部执行查询并打印从而绕过了正常的执行sql流程。所以说有些问题直接去百度,百度回来的未必是你所说的问题,解决问题时应该根据实际情况从源代码动手。

到此这篇关于MyBatis-Plus如何关闭SQL日志打印的文章就介绍到这了,更多相关MyBatis-Plus关闭SQL日志打印内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • jpa使用uuid策略后无法手动设置id的问题及解决

    jpa使用uuid策略后无法手动设置id的问题及解决

    这篇文章主要介绍了jpa使用uuid策略后无法手动设置id的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • MyBatis批量插入优化的方法步骤

    MyBatis批量插入优化的方法步骤

    本文主要介绍了MyBatis批量插入优化的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-02-02
  • java跳板执行ssh命令方式

    java跳板执行ssh命令方式

    本文分享了在Java中使用跳板机执行SSH命令的方法,并推荐了一些Maven依赖,希望这些信息对大家有所帮助
    2024-12-12
  • SpringBoot读取配置文件的四种方式

    SpringBoot读取配置文件的四种方式

    在 Spring Boot 中,application.yml 文件用于配置应用程序的属性,Spring Boot 默认会从 src/main/resources 目录下的 application.properties 或 application.yml 文件中读取配置,本文介绍了SpringBoot读取配置文件的四种方式,需要的朋友可以参考下
    2024-08-08
  • 分布式面试消息队列解决消息重复保证消息顺序

    分布式面试消息队列解决消息重复保证消息顺序

    这篇文章主要介绍了分布式面试问题:分布式消息队列如何解决消息重复并保证消息顺序面试问题解答,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • 在SpringBoot项目中如何实现线程池的动态监控

    在SpringBoot项目中如何实现线程池的动态监控

    Spring Boot因其简便、高效的特点广受开发者喜爱,在复杂的业务场景下,如何确保Spring Boot应用的高性能和稳定性成为了一个关键问题,其中,线程池的管理策略直接影响到系统的吞吐量和资源利用效率,本文将重点探讨在Spring Boot项目中,如何实现线程池的动态监控
    2023-10-10
  • Java带default方法接口的应用示例

    Java带default方法接口的应用示例

    这篇文章主要介绍了Java带default方法接口的应用,结合实例形式分析了java带default方法接口定义、用法及相关操作注意事项,需要的朋友可以参考下
    2019-08-08
  • Springboot实现邮件发送功能

    Springboot实现邮件发送功能

    这篇文章主要为大家详细介绍了Springboot实现邮件发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • Java类库BeanUtils组件使用方法及实例详解

    Java类库BeanUtils组件使用方法及实例详解

    这篇文章主要介绍了Java类库BeanUtils组件使用方法级实例详解,需要的朋友可以参考下
    2020-02-02
  • Java中File类中常用方法详解

    Java中File类中常用方法详解

    这篇文章主要为大家详细介绍了File类中常用方法的程序演示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08

最新评论