Wir verwenden slf4j + Logback und haben zufällig einige Bibliotheken von Drittanbietern, die commons-logging verwenden. Wie kann ich das Logback verwenden?Wie man commons-logging zur Verwendung von Logback einrichten?
Antwort
Die Antwort ist, commons-logging.jar nicht zu verwenden, da SLF4J entworfen wurde, um zu tun, was commons-logging aber besser tut. Wie sich @MahdeTo bezieht, müssen Sie jcl-over-slf4j.jar verwenden.
Schauen Sie sich die Dokumentation von der Website slf4j on migrating from commons-logging.
Hast du die Frage nicht gelesen? Sie verwenden Bibliotheken von Drittanbietern, die Commons-Protokollierung verwenden. –
In der Tat. Aber Sie können das pedantische und strengste wörtliche Lesen speichern, um zu sehen, dass ich meinte, dass das OP das Commons-Logging.jar nicht verwenden sollte. Das OP hat das verstanden, warum also die Notwendigkeit, einen nicht konstruktiven Kommentar hinzuzufügen? –
Bitte beachten Sie auch die FAQ von SLF4J, die zeigen, wie commons-logging von den maven-Abhängigkeiten ausgeschlossen werden kann: http://slf4j.org/faq.html#excludingJCL – koppor
ich auf diese Frage kommen auch, und jcl-over-slf4j.jar
in der Tat herausgefunden, kann das Problem lösen, ich konnte nicht verstehen, warum commons-logging
nicht logback
automatisch verwenden könnte, da commons-logging
Log-Schnittstelle ist und logback
Implementierung ist, sollten sie integrieren automatisch , bis ich gefunden this:
Die Apache Commons Logging (JCL), um eine Log-Schnittstelle bereitstellt, die soll sowohl leichtgewichtige und eine unabhängige Abstraktion von anderen Logging-Toolkits ist. Es stellt dem Middleware-/Tooling-Entwickler eine einfache Logging-Abstraktion zur Verfügung, mit der der Benutzer (Anwendung Entwickler) eine bestimmte Logging-Implementierung einbinden kann.
JCL bietet Thin-Wrapper-Log-Implementierungen für andere Logging-Tools, einschließlich Log4J, Avalon LogKit (die Protokollierung Infrastruktur des Avalon Framework), JDK 1.4 und eine Implementierung von JDK 1.4 Logging APIs (JSR-47) für Pre -1.4 Systeme. Die Schnittstelle ist eng mit Log4J und LogKit verknüpft.
Offensichtlich nicht alle Log-Schnittstelle lässt sich sehr schön mit Log-Implementierung integrieren, was bedeutet, wenn Sie wirklich logback
verwenden möchten, jcl-over-slf4j.jar
ist Ihre einzige Lösung jetzt, da JCL
nur Log4J, Logkit, JDK 1.4
unterstützen.
Haben Sie versucht, commons-logging.jar durch jcl-over-slf4j.jar zu ersetzen? – MahdeTo
Ja, das hat das Problem behoben, danke! :) – Artem