MyBatis Log4j无法打印SQL语句

本文介绍了解决MyBatis框架中无法打印SQL语句的问题。通过调整日志框架配置,具体步骤包括移除SLF4J包或在mybatis.xml中指定使用log4j。文中还提供了log4j的具体配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

  • SLF4J
  • Apache Commons Logging
  • Log4j 2
  • Log4j
  • JDK 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>

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值