版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35167373/article/details/80986023
Mybatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(依次为:SLF4J,Apache Commons Logging,Log4j 2,Log4j),如果一个都未找到,日志功能就会被禁用。
目标:使用log4j自行管理mybatis日志
一、配置mybatis-config.xml
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:com/sub/configure/mybatis/mybatis-config.xml"></property>
</bean>
这里如果配置有问题,项目启动会卡主,但是不会报错
如果要查看错误可以使用以下类,替代上面的SqlSessionFactoryBean
import java.io.IOException;
import org.apache.ibatis.executor.ErrorContext;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
public class FixedSqlSessionFactory extends SqlSessionFactoryBean{
@Override
protected SqlSessionFactory buildSqlSessionFactory() throws IOException {
try {
return super.buildSqlSessionFactory();
}catch (Exception e){
e.printStackTrace();
}finally {
ErrorContext.instance().reset();
}
return null;
}
}
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
</configuration>
二、
1 导入log4j相关jar
2 创建一个 log4j.properties于src目录下
3 使用 log4j.properties 文件管理日志