2012-03-09 35 views
14

我有一些性能单元测试,这些测试会创建不合理数量的日志,我并不真正关心它们并且实际上正在影响性能。我可以以某种方式提高logback中的日志级别,仅在该单元测试的Before方法中(并在After中恢复)?或者有更好的解决方法吗?如何在Java中以编程方式更改Logback日志级别?

回答

28

这个工作对我来说:

public static void setLoggingLevel(Level level) { 
    ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) org.slf4j.LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME); 
    root.setLevel(level); 
} 

然后在您的测试,如果你想例如所有层面:

setLoggingLevel(Level.ALL); 
+2

它仅仅是草率的编程,这些应用程序的制造商不提供用于设置日志级别的API,而是强制用户去查找正在使用的实现。 – Jason 2017-06-06 00:22:42

相关问题