myBatis 3.4 mapper.xml文件自动扫描注入, log会打在类 - mapperDao类.方法名
log4j.xml中配置sql的log日志
<appender name="db_debug" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="DEBUG"/>
<param name="encoding" value="UTF-8"/>
<param name="File" value="${catalina.base}/logs/db.debug"/>
<param name="DatePattern" value="'_'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%t] [%c] [%L] %p [%m]%n"/>
</layout>
</appender>
注: 1) log打印到tomcat下的logs/db.debug文件中, 每天生成一个文件, 自动备件后缀加 _yyyy-MM-dd.
2) %c打印类的全名, 如果嫌太长, 可以写成%c{2}, 只打印最后两段.
3) 引用变量catalina.base来指定log文件绝对路径.
1. 关闭mybatis自身log. (你有需要看, 不关也行)
<logger name="org.mybatis"> <level value="OFF"/> </logger>
2. 打开要看的daoMapper日志
<logger name="com.common.dao">
<level value="DEBUG"/>
<appender-ref ref="db_debug"/>
</logger>
其它日志自行处理
<root>
<level value="info"/>
<appender-ref ref="***"/>
</root>
3. 查看日志
[2017-11-15 10:38:04:740] [pool-1-thread-2] [com.common.dao.mapper.UserDaoMapper.getUserCount] [181] DEBUG [==> Preparing: SELECT COUNT(*) FROM User ]
[2017-11-15 10:38:04:741] [pool-1-thread-2] [com.common.dao.mapper.UserDaoMapper.getUserCount] [181] DEBUG [==> Parameters: ]
[2017-11-15 10:38:04:743] [pool-1-thread-2] [com.common.dao.mapper.UserDaoMapper.getUserCount] [181] DEBUG [<== Total: 1]