TestNG、Junit和log4j

TestNG、Junit和log4j,junit,log4j,testng,Junit,Log4j,Testng,是否有任何简单的方法来配置log4j,以便在单元测试中,我只打印失败测试的堆栈跟踪,而不会在shell的输出中产生噪音? 现在,当我执行测试时,我可以看到正在测试的类打印的输出。我想避免这种情况,因为它不会为通过单元测试中的测试带来任何值,所以请将日志级别设置为正在记录stacktraces的级别: Logger.getRootLogger().setLevel(Level.WARNING); 我建议在src/test/resources下有log4j.properties文件,内容如下: l

是否有任何简单的方法来配置log4j,以便在单元测试中,我只打印失败测试的堆栈跟踪,而不会在shell的输出中产生噪音?
现在,当我执行测试时,我可以看到正在测试的类打印的输出。我想避免这种情况,因为它不会为通过单元测试中的测试带来任何值,所以请将日志级别设置为正在记录stacktraces的级别:

Logger.getRootLogger().setLevel(Level.WARNING);

我建议在
src/test/resources
下有
log4j.properties
文件,内容如下:

log4j.rootLogger=OFF

因此,您的所有生产类都不会记录日志,但jUnit或testNG会按照您的预期打印失败的测试。

您是否考虑过在log4j配置中提高日志级别?这很有趣。我有个问题。您建议的/src/test/resources路径是因为您的dir结构?因为我的测试不在src/文件夹中,而是在/test/com/blablate中,所以建议的路径是maven项目的通用标准。如果在这种情况下有其他项目结构,则需要直接指定它。比如,对于Eclipse项目,您可以在项目首选项中手动配置。