关闭mybatis 日志

傷城~ 2022-12-20 12:43 390阅读 0赞

关闭mybatis 日志

说明

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

mybatis 日志的实现

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

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

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

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

关闭日志

  • springboot 环境中

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

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

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

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

  1. org.apache.ibatis.logging.stdout.StdOutImpl

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

  1. public class StdOutImpl implements Log {
  2. public StdOutImpl(String clazz) {
  3. }
  4. public boolean isDebugEnabled() {
  5. return true;
  6. }
  7. public boolean isTraceEnabled() {
  8. return true;
  9. }
  10. public void error(String s, Throwable e) {
  11. System.err.println(s);
  12. e.printStackTrace(System.err);
  13. }
  14. public void error(String s) {
  15. System.err.println(s);
  16. }
  17. public void debug(String s) {
  18. System.out.println(s);
  19. }
  20. public void trace(String s) {
  21. System.out.println(s);
  22. }
  23. public void warn(String s) {
  24. System.out.println(s);
  25. }
  26. }
  • 如果是其他环境

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

发表评论

表情:
评论列表 (有 0 条评论,390人围观)

还没有评论,来说两句吧...

相关阅读

    相关 关闭mybatis

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

    相关 mybatis打印

    最近在学习mybatis打印日志的功能,发现里面有很多问题需要解决。 首先,关于打印日志需要哪些jar的问题,一般而言需要三个,然后这三个的版本有影响吗 <!--

    相关 MyBatis

    MyBatis 日志 Logging Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: - SLF4J - Apache Commons Logg...