java
2022-12-13
2022-12-13
时间一直走,没有尽头,只有路口。——《摆渡人》
先说结论:
-
将
yml
配置里的mybatis-plus
配置1
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
改为
1
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
-
在
yml
配置里新增一条1
2
3
4logging:
level:
root: DEBUG
com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean: INFO
完整配置放在最后结尾处
为什么这样配?你是如何找到的?
首先我们搜索Parsed mapper file
(因为这个日志大概率是硬编码存在于源码之中的,除非是做了日志本地化,会在配置文件里)
这里排除掉一个纯依赖模块,一个注解模块,挨个到com
包搜索,在最后一个extension
模块搜到了
那我们将这个类的日志级别设为INFO
应该就搞定了,但是没有生效
我们打个断点,看看什么情况,等断点停到日志这里,我们按下F7
点这个亮着的debug
可以看到这里逻辑:
如果是debug
等级,就进行日志打印
我们继续按下F7
深入,发现问题了。。此处使用的StdOutImpl
是没有进行日志等级管理的
那找到问题了,我们可以换一个日志框架打印
将原来的
1 | log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
改为
1 | log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl |
这样我们上面配置的
1 | com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean: INFO |
即刻生效
最终测试效果如下:
完整配置如下:
1 | spring: |
示例代码仓库地址(可以的话点个star
):https://gitee.com/VampireAchao/stream-query.git