java.lang.IllegalStateException: Erkannt sowohl log4j-over-slf4j.jar UND slf4j-log4j12.jar auf die Klasse pat
Kann mir jemand sagen der Unterschied zwischen slf4j-log4j und log4j-over-slf4j? Die mehr standard, zur Verwendung in eine Java-web-Anwendung? Ich habe derzeit beide im classpath und das verursacht eine exception zur Laufzeit, wie der web-server wird versuchen zu verhindern, dass ein StackOverFlowException
passiert.
Ausnahme:
java.lang.IllegalStateException:
Erkannt sowohl log4j-over-slf4j.jar UND slf4j-log4j12.jar auf den class-path
- Entfernen Sie beide wäre eine nette Idee.
- und ersetzen mit?
- Ich würde vorschlagen, dass Sie überprüfen Sie den Inhalt der beiden und herauszufinden, wie Sie anders sind.
- Es hängt davon ab, auf web-framework und Protokollierung der Umsetzung. Auch hängt es von server, aber es ist eine andere Frage.
- mögliche Duplikate von Unterschied zwischen slf4j und log4j
- scheint wie mit slf4j und logback ist sehr beliebt
Du musst angemeldet sein, um einen Kommentar abzugeben.
slf4j-log4j ist mit log4j als eine Implementierung von slf4j.
log4j-over-slf4j bewirkt, dass Aufrufe der log4j-API 'weitergeleitet' zu slf4j.
Sie können nicht verwenden Sie diese beiden JAR ' s in der gleichen Zeit.
Beide sind gültig Bibliotheken zu verwenden, und sind ebenso "standard", es hängt von dem Projekt ab.
Im Allgemeinen, wenn Ihr das Projekt mit log4j bereits und Sie haben nicht die Fähigkeit, zu aktualisieren alle Ihre log4j Logger, um slf4j-Logger; log4j-over-slf4j ist eine schnelle Lösung, um in der Lage zu starten mit slf4j sofort.
Jedoch, wenn das Projekt neu ist oder keine vorhandene logging-Mechanismus, und Sie wählen, zu verwenden, slf4j, slf4j-log4j wäre der Weg zu gehen, denn es ist nur die Angabe von slf4j gebunden werden soll log4j.
That being said, ich Stimme mit c12 Kommentar. Stop mit log4j und stattdessen slf4j und logback.
in meinem Projekt
org.slf4j.impl.Log4jLoggerFactory
ist innicht in
slf4j-log4j12.jar
Ausnahme-Meldung täuschen mich