Wie setzen Sie den log-level auf DEBUG beim Junit-tests?
Ich bin mit mit SLF4J LOG4J, und die Konfigurationen sind in der Regel in der log4j.properties
, und es setzt den log-level auf INFO.
Jedoch während des tests würde ich gerne die logs zum DEBUGGEN.
Kann ich nicht sehen, eine Möglichkeit, dies zu automatisieren, weder so etwas wie log4j.tests.properties
das wäre nur geladen, während des tests.
Also habe ich versucht, dies zu tun programmgesteuert in das test-setup (die @BeforeClass):
LogManager.getRootLogger().setLevel(Level.ALL);
Ohne Erfolg...
Ich bin mit diesen Versionen:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
Wie kann ich dieses Ergebnis erzielen?
EDIT: ich denke, ich war nicht klar genug. Diese Frage ist nicht über das einstellen der richtigen log-level... Es geht um die Einstellung der DEBUG-log-level beim ausführen von Junit-tests und-Einstellung-INFO-log-level in jeder anderen situation. Ich möchte, dies zu automatisieren.
log4j.configuration
im inneren, finden Sie eine Eigenschaft, die setzt den logging-level, und die einzige Sache, die Sie tun müssen, ist, um es zu ändern aus, was da ist, zu DEBUG
das macht mein problem nicht lösen. Ich möchte zum festlegen von debug-nur beim ausführen der tests.
InformationsquelleAutor PedroD | 2016-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht zu geben die JVM eine andere log-Implementierung.
Logging-code sucht nach der
log4j.properties
- Datei mit dem classpath. So alle Sie tun müssen, ist sicherzustellen, dass Ihr testlog4j.properties
- Datei ist in einem Ort, es zu finden, bevor die release-Datei.Ich benutze Maven, die darlegt, Dateien in Verzeichnissen zu machen, einfach. Meine Version
log4j.properties
geht in das Verzeichnissrc/main/resources
. Meine test-version geht insrc/test/resources
. Die Eclipse-build-Pfad (classpath) wird eingerichtet, um die Suchesrc/test/resources
vorsrc/main/resources
, so dass Ihre unit-tests verwenden des test-Datei. Das GLAS (oder KRIEG) build-Anweisungen, die die Dateien verwenden, die vonsrc/main/resources
.InformationsquelleAutor PedroD
In der Regel EBENE.BESTEN sollte es tun... aber werfen Sie einen Blick auf http://saltnlight5.blogspot.mx/2013/08/how-to-configure-slf4j-with-different.html, um zu sehen, logging-frameworks Implementierungen considereation.
bei der Ausführung Ihres Tests werden Sie mit logger-Implementierung, Log4J, standar java.util.Log-oder andere... kann sein, dass das ist, was Sie suchen... die Art und Weise zu konfigurieren, die levels stackoverflow.com/questions/878348/...
Ich nur nötig, um die log4j.Eigenschaften in der
src/test/resources
und es überschreiben soll, die man insrc/main/resources
während der tests. 🙂Sorry, wenn ich missunderstand die Frage am Anfang... Sie können es tun, auf die Datei, die Sie erwähnen (mit der richtigen Datei, in diesem Fall die log4j) oder Sie gehen programmgesteuert und programmatisch wird davon abhängen, ob Sie verwendet log4J oder etwas anderes... froh, dass Sie die Antwort finden.
Kein problem. Danke für die Hilfe! 😉
InformationsquelleAutor Carlos de Luna Saenz