springboot+mybatis如何屏蔽掉mybatis日志

 更新时间:2023年05月16日 09:21:33   作者:bourbon_zero  
这篇文章主要介绍了springboot+mybatis如何屏蔽掉mybatis日志问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot+mybatis屏蔽掉mybatis日志

使用的是logback日志,屏蔽掉mybatis的debug日志,只需要在配置文件(指的是application.yaml)将

mybatis:
#log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

注释即可

同理,需要改日志,将该句添加在配置文件即可

关闭mybatis日志问题

说明

在网上找了一大圈都没有靠谱的答案,有时候项目中的日志打印太多,需要屏蔽部分日志打印

mybatis 日志的实现

原理:就是mybatis 的日志抽取了公共的方法,需要依赖项目中的日志实现类,来实现日志打印,在不配置的时候,mybatis会按照如下的顺序去查找日志实现类

Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种方式:

  • SLF4J
  • Apache Commons Logging
  • Log4j 2
  • Log4j
  • JDK logging

其实打开源码还有一些其他实现,但这几个是大家接触的最多的,如果找到日志实现,在项目启动的时候,mybatis 就会打印相关日志

关闭日志

springboot 环境中

在mybatis 自动找不到 日志实现类的时候,可以指定日志实现类

在springboot 项目中可以通过在配置文件中配置该属性来指定 mybatis.configuration.log-impl

mybatis.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl

这里配置的实现类,就是无处理,这样就关闭了日志打印,或者换成

org.apache.ibatis.logging.stdout.StdOutImpl

这两个mybatis 自带的实现类,NoLoggingImpl 是啥也不做,StdOutImpl 是将日志输出到控制台

public class StdOutImpl implements Log {
    public StdOutImpl(String clazz) {
    }
    public boolean isDebugEnabled() {
        return true;
    }
    public boolean isTraceEnabled() {
        return true;
    }
    public void error(String s, Throwable e) {
        System.err.println(s);
        e.printStackTrace(System.err);
    }
    public void error(String s) {
        System.err.println(s);
    }
    public void debug(String s) {
        System.out.println(s);
    }
    public void trace(String s) {
        System.out.println(s);
    }
    public void warn(String s) {
        System.out.println(s);
    }
}

如果是其他环境

在mybatis.xml 文件中,指定相同的 log-iml 属性 ,指定对应的日志实现即可

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Retrofit+RxJava实现带进度下载文件

    Retrofit+RxJava实现带进度下载文件

    这篇文章主要为大家详细介绍了Retrofit+RxJava实现带进度下载文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Java中Queue的poll()和remove()区别详解

    Java中Queue的poll()和remove()区别详解

    这篇文章主要介绍了Java中Queue的poll()和remove()区别详解,Queue接口提供了许多方法,其中poll()和remove()是两个常用的方法,它们的区别在于,当队列为空时,poll()方法返回null,而remove()方法会抛出,需要的朋友可以参考下
    2023-07-07
  • 支票金额大写转换示例(金额大写转换器)

    支票金额大写转换示例(金额大写转换器)

    这篇文章主要介绍了支票金额大写转换示例(金额大写转换器),需要的朋友可以参考下
    2014-02-02
  • GsonFormat快速生成JSon实体类的实现

    GsonFormat快速生成JSon实体类的实现

    GsonFormat主要用于使用Gson库将JSONObject格式的String 解析成实体,本文主要介绍了GsonFormat快速生成JSon实体类的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-05-05
  • SpringMvc web.xml配置实现原理过程解析

    SpringMvc web.xml配置实现原理过程解析

    这篇文章主要介绍了SpringMvc web.xml配置实现原理过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java后台接收数据的三种方式(url、form-data与application/json)

    Java后台接收数据的三种方式(url、form-data与application/json)

    本文主要介绍了Java后台接收数据的三种方式(url、form-data与application/json),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Spring-boot的debug调试代码实例

    Spring-boot的debug调试代码实例

    这篇文章主要介绍了Spring-boot的debug调试代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 使用java生成字母验证码

    使用java生成字母验证码

    这篇文章主要介绍了使用java生成字母验证码的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Tomcat内存溢出分析及解决方法

    Tomcat内存溢出分析及解决方法

    堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的,本文将详细介绍Tomcat内存溢出,需要了解更多的朋友可以参考下
    2012-11-11
  • Java JDK动态代理实现原理实例解析

    Java JDK动态代理实现原理实例解析

    这篇文章主要介绍了Java JDK动态代理实现原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论