2012-04-12 6 views

Antwort

41

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.

+18

Hast du die Frage nicht gelesen? Sie verwenden Bibliotheken von Drittanbietern, die Commons-Protokollierung verwenden. –

+5

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? –

+3

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

4

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.