14
我有一些性能单元测试,这些测试会创建不合理数量的日志,我并不真正关心它们并且实际上正在影响性能。我可以以某种方式提高logback中的日志级别,仅在该单元测试的Before方法中(并在After中恢复)?或者有更好的解决方法吗?如何在Java中以编程方式更改Logback日志级别?
我有一些性能单元测试,这些测试会创建不合理数量的日志,我并不真正关心它们并且实际上正在影响性能。我可以以某种方式提高logback中的日志级别,仅在该单元测试的Before方法中(并在After中恢复)?或者有更好的解决方法吗?如何在Java中以编程方式更改Logback日志级别?
这个工作对我来说:
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);
它仅仅是草率的编程,这些应用程序的制造商不提供用于设置日志级别的API,而是强制用户去查找正在使用的实现。 – Jason 2017-06-06 00:22:42