Mybatis 3.2.2 log4j.xml 没输出

mybatis 3.1.1 中在log4j.xml 配置如下:
***************************分割线*****************************************************
<logger name="com.ibatis" additivity="true">

<level value="debug" />

</logger>

<logger name="java.sql.Connection" additivity="true">

<level value="debug" />

</logger>

<logger name="java.sql.Statement" additivity="true">

<level value="debug" />

</logger>

<logger name="java.sql.PreparedStatement" additivity="true">

<level value="debug" />

</logger>

<logger name="java.sql.ResultSet" additivity="true">

<level value="debug" />

</logger>
*************************分割线*******************************
可以输出,换成了Mybatis3.2.2之后,控制台不打印sql语句。
之后,按照mybatis的文档,在mybatis-config.xml中加入
<setting name="logImpl" value="STDOUT_LOGGING"/>

可以在控制台打印sql语句。
将该语句换成<setting name="logImpl" value="LOG4J"/>
依然不打印sql语句出来。
是spring mvc 工程。用的是mysql
*****************************************************************************
问题解决了 spring sts 默认的mvc工程目录下的log4jx.xml 配置如下

<root>
<priority value="warn" />
<appender-ref ref="console" />
</root>
修改为
<root>
<priority value="debug" />
<appender-ref ref="console" />
</root>
问题搞定。

第1个回答  2014-04-11
其实问题是你搞错输出sql的主题类了,spring在其中做了手脚,每一个sql的日志应该是你的dao打印的。所以在log4j中加类似:log4j.logger.com.zeng.spring3.test.dao=debug 就可以。其中com.zeng.spring3.test.dao 改成你的包名就行。
第2个回答  2013-09-02
不错,继续加油!
相似回答