如何在运行测试方法时使Intellij显示日志

时间:2014-11-14 06:42:58

标签: java maven intellij-idea

假设我有以下代码:

private static final Logger log = LoggerFactory.getLogger( DummyTest.class );
@Test
public void test() {
    log.info("dummy log");
}

当我在Intellij中运行测试方法test()时,我没有在控制台输出中获得任何日志。但是,如果我从命令行通过mvn test运行测试,我将获取日志。顺便说一句,我用的是testng。

那么,我怎样才能让Intellij显示日志?

2 个答案:

答案 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());