2012-03-09 34 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

相關問題