Logback - Deaktivieren Sie die Protokollierung im Unit Test
Während der Komponententest in der IDE ausgeführt wird, zeigt der Logback viele Konfigurationen oder Status wie folgt an:
21:16:59,569 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
21:16:59,569 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
21:16:59,569 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at ...
//... omitted for readability.
21:17:00,051 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ch.qos.logback]
21:17:00,051 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to OFF
21:17:00,051 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
21:17:00,051 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
21:17:00,053 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@20e2cbe0 - Registering current configuration as safe fallback point
java.lang.AssertionError:
Expected: is (3)
but: was (2)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
Es ist wirklich ärgerlich, besonders für den fehlgeschlagenen Test, weil ich manuell nach unten scrollen muss, um die Fehlermeldung zu erhalten!
1. Lösung - Leere Konfiguration
Um dies zu beheben, erstellen Sie eine leere Konfigurationsdatei alslogback-test.xml und speichern Sie sie unter$project/src/test/resources
$project/src/test/resources/logback-test.xml
Führen Sie den Komponententest erneut aus, kein Unsinn mehr,silence is golden.
2. Lösung - NopStatusListener
Alternativ können Sie einNopStatusListenerwie folgt hinzufügen:
logback-test.xml
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
Überprüfen Sie dies -How to stop logback status INFO at the start of every log?