Warum loggt Frühling INFO Standardfehler?
-
26-09-2019 - |
Frage
Ich habe ein viele DB Integrationstests, die die folgenden Anmerkungen für Transaktionsrollback verwenden:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:ApplicationContext-DAOs.xml"})
@Transactional
Die Tests bestehen, aber wenn ich laufen sie Frühling hält es für notwendig, auf INFO-Ebene Standard Fehler zu protokollieren! Es protokolliert Dinge wie:
19/11/2010 16:49:11 org.springframework.test.context.TestContextManager
retrieveTestExecutionListeners
INFO: @TestExecutionListeners is not present for class [class my.SomeDAOTest]:
using defaults.
etc for many, many lines ...
Wo finde ich diese ausschalten?
Lösung
Sie können es log4j mit verstecken. In Ihrem log4j.xml, stellen Sie einen Logger für den Frühling zu warnen (oder Fehler).
<logger name="org.springframework">
<level value="warn"/>
</logger>
Andere Tipps
Federkern Apache Commons Logging verwendet. Um von Standardverhalten zu konfigurieren entfernt (Schreiben zum stderr) hatte ich die Brücke Komponente für meinen besonderen Rahmen zu verwenden.
Ich verwende Log4j2, so dass, sobald ich die Brücke von Apache commons zu log4j2 hinzugefügt, dann Federkern respektiert meine Einstellungen.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.11.2</version>
</dependency>