mybatis版本
3.2.8
日志配置文件
# com.xxxxx.xxxxx.dao 这是mapper接口的所在路径
log4j.logger.com.danceforyou.medicalCo.dao=DEBUG,conDebug
log4j.appender.conDebug=org.apache.log4j.ConsoleAppender
log4j.appender.conDebug.Threshold=DEBUG
log4j.appender.conDebug.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} -%-4r [%t] %-5p %x - %m%n
log4j.appender.conDebug.Target=System.out
log4j.appender.conDebug.Encoding=UTF-8
log4j.appender.conDebug.layout=org.apache.log4j.PatternLayout
maven日志依赖
<!-- 日志文件管理包-开始 -->
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>2.0.0-alpha1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.0-alpha1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 日志文件管理包-结束 -->
查看源码发现mybatis检查不到日志实现
private static void setImplementation(Class<? extends Log> implClass) {
try {
Constructor<? extends Log> candidate = implClass.getConstructor(new Class[] { String.class });
Log log = candidate.newInstance(new Object[] { LogFactory.class.getName() });
log.debug("Logging initialized using '" + implClass + "' adapter.");
logConstructor = candidate;
} catch (Throwable t) {
throw new LogException("Error setting Log implementation. Cause: " + t, t);
}
}
调试结果
意思是没有找到日志实现类.
到了这里查看maven的pom依赖,修改后
<!-- 日志文件管理包-开始 -->
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>2.0.0-alpha1</version>
</dependency>
<!-- 日志文件管理包-结束 -->