mybatis打印SQL日志最终解决方案

本文介绍了一种有效的MyBatis SQL日志打印方法,适用于版本3.4.1及更高版本。通过调整DAO层的日志级别为trace,可以在控制台看到详细的SQL执行信息。

在程序调试时mybatis并没有hibernate所提供的showsql功能,只能通过配置log4j日志输出级别的方式来打印sql。但网上搜到的答案几乎都是下面的配置方式:

log4j.rootLogger=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
###显示SQL语句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

rootLogger的级别是info,防止其他地方输出debug的调试代码(rootLogger若设为debug了,mybatis也没必要再设置了)。但这段代码根本没有作用!不知是不是我使用的jar包版本比较新的缘故(3.4.1)。经过一系列的尝试,终于找到了解决方案,直接修改dao层的输出级别即可:

<loggers>
    <Logger name="com.github.vita.code.dao" level="trace" />
    <root level="info">
        <appender-ref ref="Console"/>
    </root>
</loggers>

上面的是log4j 2的XML配置,1中对应的为log4j.logger.com.github.vita.code.dao=trace。这儿把输出调成了更低的trace,可以看到更详细的信息。

posted on 2016-09-18 00:37 小杨vita 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/yangcheng33/p/6557319.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值