Spring单元测试指定log4j配置学习笔记

  1. 编写JUnit4ClassRunner类指定log4j文件
    public class JUnit4ClassRunner extends SpringJUnit4ClassRunner {
        static {
            try {
                initLogging("classpath:log4j-dev.properties");
            } catch (FileNotFoundException ex) {
                System.err.println("Cannot Initialize log4j");
            }
        }
        public JUnit4ClassRunner(Class<?> clazz) throws InitializationError {
            super(clazz);
        }
        // 来自Log4jConfigurer类(5.x版本已移除)
        private static void initLogging(String location) throws FileNotFoundException {
            String resolvedLocation = SystemPropertyUtils.resolvePlaceholders(location);
            URL url = ResourceUtils.getURL(resolvedLocation);
            if (ResourceUtils.URL_PROTOCOL_FILE.equals(url.getProtocol()) && !ResourceUtils.getFile(url).exists()) {
                throw new FileNotFoundException("Log4j config file [" + resolvedLocation + "] not found");
            }
            if (resolvedLocation.toLowerCase().endsWith(".xml")) {
                DOMConfigurator.configure(url);
            } else {
                PropertyConfigurator.configure(url);
            }
        }
    }
    
  2. 在@RunWith中指定使用JUnit4ClassRunner.class
    @Slf4j
    @RunWith(JUnit4ClassRunner.class)
    @ContextConfiguration(classes = MyConfig.class)
    public class HelloTest{
        @Test
        public void test1(){
            log.info("============");
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值