MyBatis Plus关闭SQL日志打印的方法

 更新时间:2024年02月25日 15:56:41   作者:qyhua  
这篇文章主要介绍了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打印的资料请关注脚本之家其它相关文章!

相关文章

  • MyBatis-Plus实现公共字段自动填充功能详解

    MyBatis-Plus实现公共字段自动填充功能详解

    在开发中经常遇到多个实体类有共同的属性字段,这些字段属于公共字段,也就是很多表中都有这些字段,能不能对于这些公共字段在某个地方统一处理,来简化开发呢?MyBatis-Plus就提供了这一功能,本文就来为大家详细讲讲
    2022-08-08
  • Java实现简单控制台版ATM系统

    Java实现简单控制台版ATM系统

    这篇文章主要为大家详细介绍了Java实现简单控制台版ATM系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Spring 缓存在项目中的使用详解

    Spring 缓存在项目中的使用详解

    Spring 缓存机制,Cache接口为缓存的组件规范定义,包扩缓存的各种操作(添加缓存、删除缓存、修改缓存等),本文给大家介绍Spring 缓存在项目中的使用,感兴趣的朋友一起看看吧
    2025-05-05
  • Java内存之happens-before和重排序

    Java内存之happens-before和重排序

    在JMM(Java内存模型)中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系。下面小编来简单介绍一下
    2019-05-05
  • Mybatis-Plus实现公共字段自动赋值的方法

    Mybatis-Plus实现公共字段自动赋值的方法

    这篇文章主要介绍了Mybatis-Plus实现公共字段自动赋值的方法,涉及到通用字段自动填充的最佳实践总结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Spring基于@Conditional条件化装配bean

    Spring基于@Conditional条件化装配bean

    这篇文章主要介绍了Spring @Conditional条件化装配bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • spring boot配置读写分离的完整实现步骤

    spring boot配置读写分离的完整实现步骤

    数据库配置主从之后,如何在代码层面实现读写分离?所以下面这篇文章主要给大家介绍了关于spring boot配置读写分离的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2018-09-09
  • 谈谈Spring Boot 数据源加载及其多数据源简单实现(小结)

    谈谈Spring Boot 数据源加载及其多数据源简单实现(小结)

    这篇文章主要介绍了谈谈Spring Boot 数据源加载及其多数据源简单实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • springboot中的@value取不到正确的值问题

    springboot中的@value取不到正确的值问题

    这篇文章主要介绍了springboot中的@value取不到正确的值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 关于idea中Java Web项目的访问路径问题

    关于idea中Java Web项目的访问路径问题

    这篇文章主要介绍了idea中Java Web项目的访问路径问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论