方式1:logback.xml文件直接放在src目录下面,启动单元测试时,会自动输出日志
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:config/applicationContext.xml" })
public class SpringApplication {
private static Logger log = LoggerFactory.getLogger(SpringApplication.class);
@Test
public void application() {
log.info("---------> {} <---------");
}
}
方式2:
自定义测试类DefinedJUnit4ClassRunner继承SpringJUnit4ClassRunner,在类DefinedJUnit4ClassRunner中默认加载logback.xml文件,实现输出自定义日志
import org.junit.runners.model.InitializationError;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.joran.spi.JoranException;
/**
* @description junit4测试类,加载自定义日志文件.
* @author Silencer
* @date 2018-08-29 11:53:54
* @version v_1.0
*/
public class DefinedJUnit4ClassRunner extends SpringJUnit4ClassRunner {
static {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
try {
configurator.doConfigure("src/main/resources/config/logback.xml");
} catch (JoranException e) {
e.printStackTrace();
}
}
public DefinedJUnit4ClassRunner(Class<?> clazz) throws InitializationError {
super(clazz);
}
}
@RunWith(DefinedJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:config/applicationContext.xml" })
public class SpringApplication {
private static Logger log = LoggerFactory.getLogger(SpringApplication.class);
@Test
public void application() {
log.info("---------> {} <---------");
}
}