Java Log4j2-我是否可以为每个cucumberJVM测试创建一个单独的日志文件,其中日志文件名是场景的名称?
谢谢你抽出时间 任务:我正在使用cucumberJVM/Maven Surefire(forkCount)运行大量并行测试,在我的网格设置中同时运行大约15个以上的测试。对于我来说,每个Junit@Test(以Test方法作为日志名)和每个cucumberJVM场景是否可以有一个单独的日志文件来为自己创建日志 我不确定这是否可行,但这是我正在努力实现的目标,到目前为止,我有基本的日志记录,可以将所有内容写入一个.log文件,目前我正在大量阅读log4j2,但到目前为止,该网站势不可挡 我当前的log4j2.xmlJava Log4j2-我是否可以为每个cucumberJVM测试创建一个单独的日志文件,其中日志文件名是场景的名称?,java,log4j2,cucumber-jvm,Java,Log4j2,Cucumber Jvm,谢谢你抽出时间 任务:我正在使用cucumberJVM/Maven Surefire(forkCount)运行大量并行测试,在我的网格设置中同时运行大约15个以上的测试。对于我来说,每个Junit@Test(以Test方法作为日志名)和每个cucumberJVM场景是否可以有一个单独的日志文件来为自己创建日志 我不确定这是否可行,但这是我正在努力实现的目标,到目前为止,我有基本的日志记录,可以将所有内容写入一个.log文件,目前我正在大量阅读log4j2,但到目前为止,该网站势不可挡 我当前的l
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<File name="file" fileName="app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="file" level="DEBUG"/>
<AppenderRef ref="STDOUT" level="INFO"/>
</Root>
</Loggers>
</Configuration>
我可以在@Before(hook)中获得以下运行场景:
这将返回特性和场景名称,仅此而已,在每个测试运行的最后添加一个.log将非常出色
这里非常感谢您的指导。您可以尝试像我建议的那样的设置。您可以尝试像我建议的那样的设置。
package supportFactory;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
public class LoggingFactory {
public static Logger Log = LogManager.getLogger();
public void debug(String message) {
Log.debug("DEBUG: " + message);
}
public void info(String message) {
Log.debug("INFO: " + message);
}
public void warn(String message) {
Log.debug("WARNING: " + message);
}
public void error(String message) {
Log.debug("ERROR: " + message);
}
public void fatal(String message) {
Log.debug("FATAL: " + message);
}
}
TestRunner.scenario = scenario;
System.out.println("Scenario: " + scenario.getId());