Selenium Log4j2在使用TestNg时不创建后续日志文件

Selenium Log4j2在使用TestNg时不创建后续日志文件,selenium,testng,log4j2,Selenium,Testng,Log4j2,我将eclipse与testng一起使用,并将log4j2用于日志记录。当我单独运行测试时,会为每个测试创建一个日志文件,并将其放置在一个目录中,该目录具有唯一名称,包括日期时间戳 例如,当我运行test01时,将使用datetime创建一个目录,并在该目录中放置一个日志文件 2016-12-10-21-16-04 tst_01 tst_01.log 当我单独运行test02时,会根据datetime和testname创建一个新目录,并向新目录添加一个日志文件 2016-12-10-21-16

我将
eclipse
与testng一起使用,并将
log4j2
用于日志记录。当我单独运行测试时,会为每个测试创建一个日志文件,并将其放置在一个目录中,该目录具有
唯一名称
,包括
日期时间戳

例如,当我运行
test01
时,将使用datetime创建一个目录,并在该目录中放置一个日志文件

2016-12-10-21-16-04 tst_01
tst_01.log
当我单独运行
test02
时,会根据datetime和testname创建一个新目录,并向新目录添加一个日志文件

2016-12-10-21-16-42 tst_02
tst_02.log
当我使用testng运行测试套件时。一个日志文件被添加到第一个测试的目录中,但第二个目录中没有出现日志文件

此外,在第一个测试目录中结束的日志文件包含第一个测试和第二个测试的日志语句

代码示例:

public class TestLog{
  private static final Logger TestLog = LogManager.getLogger(TestLog.class.getName());
  public static void info(String message){
    TestLog.info(message);
  }
}

问题:在使用testng运行测试时,如何创建新的日志文件?

问题是没有为每个运行的测试更新log4j2.xml文件。答案是在每个测试中添加以下内容

((org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false)).reconfigure();
这实际上是重新加载log4j2.xml文件,从而获取新的设置


答案在:

请分享您的一些代码。