假设我有以下代码:
private static final Logger log = LoggerFactory.getLogger( DummyTest.class );
@Test
public void test() {
log.info("dummy log");
}
当我在Intellij中运行测试方法test()
时,我没有在控制台输出中获得任何日志。但是,如果我从命令行通过mvn test
运行测试,我将获取日志。顺便说一句,我用的是testng。
那么,我怎样才能让Intellij显示日志?
答案 0 :(得分:2)
我遇到了同样的问题 - 在控制台中根本没有日志输出。
根据@ wemu的建议,我将以下文件添加到项目的src/test/resources/
目录中,这样我就可以从测试代码和被测试的类中获得调试输出。
注意:我正在使用log4j2。所需文件将根据您的日志记录框架而有所不同。
的log4j.xml:
<?xml version='1.0' encoding='UTF-8'?>
<configuration monitorInterval="30">
<appenders>
<Console name='Console' target='SYSTEM_OUT'>
<PatternLayout pattern='%d{HH:mm:ss.SSS} %p [%t] %c{1.}.%M %m%n' />
</Console>
</appenders>
<loggers>
<root level='trace'>
<appender-ref ref='Console' />
</root>
</loggers>
</configuration>
答案 1 :(得分:0)
我遇到了同样的问题,截至2020年中,以下代码解决了我的问题:
java.util.logging.Logger.getLogger(LoggingFeature.DEFAULT_LOGGER_NAME).addHandler(new ConsoleHandler());