为 JUnit 测试用例配置 Log4j2

为 JUnit 测试用例配置 Log4j2

原文: https://howtodoinjava.com/log4j2/configure-log4j2-for-junit/

大多数开发人员都希望使用不同的 log4j2 配置文件进行 junit 测试。 让我们学习一些推荐的配置 Log4j2 的推荐方法,这些方法特定于 junit 测试用例,并且与生产环境不同。

Table of Contents

Place log4j2-test.xml in test folder
Use log4j.configurationFile property in @BeforeClass

log4j2-test.xml放入测试文件夹

log4j2-test.xml文件放置在src/test/resources文件夹中。 通过将log4j2-test.xml放入此目录,将导致使用它代替可能存在的log4j2.xmllog4j2.json

Log4j2 Config for JUnit

用于 JUnit 的 Log4j2 配置

@BeforeClass中使用log4j.configurationFile属性

为 junit 测试引入不同日志文件的另一种方法是 – 在任何测试类的@BeforeClass注解中设置log4j.configurationFile属性。

例如。 创建测试特定的日志记录配置文件log4j2-testConfig.xml,并将其放置在resources文件夹中。 现在,让我们在 JUnit 测试中使用该文件。

import java.net.MalformedURLException;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.BeforeClass;
import org.junit.Test;

public class HelloWorldTest 
{
	private static Logger LOGGER = null;

	@BeforeClass
	public static void setLogger() throws MalformedURLException
	{
		System.setProperty("log4j.configurationFile","log4j2-testConfig.xml");
		LOGGER = LogManager.getLogger();
	}

	@Test
	public void testOne()
	{
		LOGGER.debug("Debug Message Logged !!!");
        LOGGER.info("Info Message Logged !!!");
        LOGGER.error("Error Message Logged !!!", new NullPointerException("NullError"));
	}
}

在评论部分中,将有关 junit 测试的 log4j2 配置的问题交给我。

学习愉快!