pom依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency><dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-redis</artifactId>
<version>1.0.0-beta1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
<version>4.1.3.RELEASE</version>
</dependency>
在junit测试类上添加注解
如:
@RunWith(JUnit4ClassRunner.class) //此处为自定义类 代码如后所示 @ContextConfiguration(locations = { "classpath*:dao-context.xml" }) //@Transactional public class BaseDaoTest{...}
public class JUnit4ClassRunner extends SpringJUnit4ClassRunner { static { try { Log4jConfigurer.initLogging("classpath*:log4j.properties"); } catch (FileNotFoundException ex) { System.err.println("Cannot Initialize log4j"); } } public JUnit4ClassRunner(Class<?> clazz) throws InitializationError { super(clazz); } }
在classpath下添加配置文件log4j.properties内容如下:
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml! # For all other servers: Comment out the Log4J listener in web.xml to activate Log4J. log4j.rootLogger=debug,stdout,PRODUCT log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout log4j.appender.PRODUCT=org.apache.log4j.DailyRollingFileAppender log4j.appender.PRODUCT.File=/data/logs/kaola-jdbc.log log4j.appender.PRODUCT.Append=true log4j.appender.PRODUCT.DatePattern='.'yyyy-MM-dd log4j.appender.PRODUCT.Encoding=UTF-8 log4j.appender.PRODUCT.layout=org.apache.log4j.PatternLayout log4j.appender.PRODUCT.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n log4j.logger.com.ibatis=DEBUG log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG log4j.logger.java.sql.ResultSet=INFO log4j.logger.org.apache=INFO
添加mybatis对jdbclog的支持:(此文件名为:mybatis-config.xml)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- 打印查询语句 --> <setting name="logImpl" value="LOG4J" /> <setting name="logPrefix" value="com.*.dao."/> </settings> </configuration>
最后在spring读取的context.xml中引入该配置即可.