Log4J在testNG中运行时不显示



我正在尝试将Log4J集成到使用TestNG的测试中,我添加了一个记录器,但当我尝试使用它时,我没有得到任何输出。

我使用的是JDK18,最新的稳定的TestNG和Log4J内核。

public abstract class DemoAutomationTest extends AbstractTest {
private Logger logger = null;
@BeforeSuite
@Override
protected void suiteSetup() {
String testName = this.getClass().getCanonicalName();
this.logger = LogManager.getLogger(testName);
this.logger.info("Test info");
}
}

如果有任何帮助,我们将不胜感激,我已经在这里的Stack Overflow上找到了这个,但找不到答案。

结构为:

automation
src
test
java
framework
testng
DemoAutomationTest.java
AbstractTest.java
tests
demo.java
pom.xml

对于我拥有的测试:

static ListAppender<ILoggingEvent> getLogAppender(final Class<?> clazz) {
final var logger = (Logger) LoggerFactory.getLogger(clazz);
final var appender = new ListAppender<ILoggingEvent>();
appender.start();
logger.addAppender(appender);
return appender;
}

比我使用它的方式:

private ListAppender<ILoggingEvent>  logAppender = TestUtils.getLogAppender(MyClass.class);
assertEquals(1, logAppender.list.size());
assertEquals("Code: 401, Response body: ", logAppender.list.get(0).getFormattedMessage());

最新更新