mybatis初步之----日志记录

别说谁变了你拦得住时间么 提交于 2019-12-10 18:05:00

1、mybatis日志优先级

  • SLF4J

  • Apache Commons Logging

  • Log4j 2

  • Log4j

  • JDK logging

指定某种日志(相应日志实现必须存在,启动时调用,未测试)

org.apache.ibatis.logging.LogFactory.useSlf4jLogging();

org.apache.ibatis.logging.LogFactory.useLog4JLogging();

org.apache.ibatis.logging.LogFactory.useJdkLogging();

org.apache.ibatis.logging.LogFactory.useCommonsLogging();

org.apache.ibatis.logging.LogFactory.useStdOutLogging();

2、对于xml配置的sql语句输出(只使用log4j,测试可以使用)

<mapper namespace="sysBackTask">
    <select id="selectSysBackTask" parameterType="int" resultType="SysBackTask" >
        select * from sys_back_task where id = #{id}
    </select>

</mapper>

配置为:

log4j.logger.org.mybatis=DEBUG
log4j.logger.org.mybatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.org.mybatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.sysBackTask=TRACE
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

注意log4j.logger.sysBackTask=TRACE,中sysBackTask为相应的namespace

3、对于注解方式的sql语句(未测试)

package org.mybatis.example;
public interface BlogMapper {
 @Select("SELECT * FROM blog WHERE id = #{id}")
 Blog selectBlog(int id);
}

将log4j.logger.sysBackTask=TRACE变为log4j.logger.org.mybatis.example.BlogMapper=TRACE

或使用接口log4j.logger.org.mybatis.example=TRACE




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!