任何用于注释方法的工具,以便该方法不会生成日志

时间:2015-07-14 09:09:36

标签: java junit annotations slf4j

我有一些JUnit测试。在测试中,我测试了它在测试方法中进入异常块的情况。他们记录错误,最终在我的junit测试结果中。我可以执行slf4j配置并省略整个类的日志记录。但是我希望我可以在其中注释测试方法以及运行的代码不会生成任何日志。

1 个答案:

答案 0 :(得分:0)

(a)您可以在方法中使用两个记录器,默认为class,一个特定于方法:

private static final Logger log = LoggerFactory.getLogger(YourService.class);
private static final Logger customLog = LoggerFactory.getLogger(YourService.class.getCanonicalName() + "#yourMethod");

(b)或者您可以在测试setUp / tearDown中调整您的日志系统:

@SetUp
public void setUp() {
    Logger log = LoggerFactory.getLogger(YourService.class);
    ((LoggerImlpementationClass) log).setLogLevel(...);
}
// the same, but reset, in tear down method.

但是在这种情况下,需要将记录器依赖范围从运行时更改为测试(以maven术语)。