首先,本文用的spring boot版本是2.1.0.RELEASE,其他版本是否可行还没试过。
其实要想实现在控制台打印mybatis执行时的sql很简单,只需要在application.properties中加上如下配置:
logging.level.com.xxx.dao=debug
其中,com.xxx.dao是你自己写的mapper接口所在包路径(不是mapper文件),改好之后重启就会生效了(这样logback的日志级别就不用设成全局debug了)
另外,我试了下在logback-spring.xml中加上如下配置几种配置:
方式一
<logger name="com.xxx.dao" value="DEBUG" additivity="false"/>
方式二
<logger name="com.xxx.dao" value="DEBUG" />
方式三
<logger name="com.xxx.dao" value="DEBUG" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
方式四
<logger name="com.xxx.dao" value="DEBUG">
<appender-ref ref="STDOUT" />
</logger>
我把logback的全局日志级别设为INFO,这四种方式的配置都没办法打印执行时的sql,后来我在application.properties中加上上面的配置并把logback-spring.xml中相应的配置去掉之后才生效。