Ho alcuni test delle unità di prestazioni che creano una quantità irragionevole di registri di cui non mi interessa e che stanno effettivamente influenzando le prestazioni. Posso in qualche modo aumentare il livello di log nel logback nel metodo Before solo per quel test di unità (e ripristinarlo in After)? O c'è un modo migliore per affrontarlo?Come modificare il livello del registro di logback in modo programmatico in Java?
14
A
risposta
28
questo funziona per me:
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);
}
Poi, nel tuo test, se si desidera che tutti i livelli, ad esempio:
setLoggingLevel(Level.ALL);
E 'solo la programmazione sciatta che i creatori di queste applicazioni non forniscono un'API per impostare il livello di registro e costringere l'utente a trovare l'implementazione in uso. – Jason