MyBatis Log4j无法打印SQL语句

xiaoxiao2021-03-01  18

采用spring+mybatis的架构,日志选用log4j,想打印Sql语句到控制台调试一直打不出,网上一大堆配置实例,试了都没用,后面发现项目里有slf4j-api jar包。

问题原因:这个是Mybatis默认查找日志的顺序,自上而下,也就是说,如果项目中有前面3个日志框架时,对于Mybatis,log4j就不会生效

SLF4JApache Commons LoggingLog4j 2Log4jJDK logging

把 SLF4J包去掉后按mybatis官方配置就可以了,下面给出我自己的配置:

log4j.rootCategory=INFO, stdout #xx.xx 是你自己的包 log4j.logger.xx.xx=TRACE ### 输出信息到控制抬 ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss,SSS} %t %-5p %c{1}[%LL] - %m%n

如果项目中一定要有slf4j包,那么可以在mybatis.xml配置文件中指定使用log4j:

<settings> <setting name="logImpl" value="LOG4J" /> </settings>
转载请注明原文地址: https://www.6miu.com/read-3200263.html

最新回复(0)