Как программно изменить уровень журнала регистрации в Java?

У меня есть некоторые тесты производительности, которые создают необоснованное количество журналов, которые мне действительно не нравятся, и на самом деле влияют на производительность. Могу ли я каким-то образом повысить уровень журнала в logback в методе Before для этого unit test (и восстановить его в After)? Или есть лучший способ решить эту проблему?

Ответ 1

Это работает для меня:

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);