原文: 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.xml
或log4j2.json
。
用于 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 配置的问题交给我。
学习愉快!