现象

在日志配置文件 logback-spring.xml 中,无论怎么修改级别,mybatis 的 sql 日志都会打印出来。

原因

在 application.yml 中配置了 mybatis 的自定义日志类,如下:

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

点进去查看源码,发现 debug 日志级别始终为 true,所以怎么配置都不生效


public boolean isDebugEnabled() {
    return true;
}

public boolean isTraceEnabled() {
    return true;
}

解决方法

屏蔽 application.yml 中配置的 mybatis 自定义日志类,然后在 logback-spring.xml 配置文件中,将 mapper(及 dao)包,配置为 info 级别。

    <!-- 修改其他包的日志输出级别 -->
    <logger name="com.xxx.xxx.mapper" level="INFO"/>
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐