Ich habe eine bestehende Anwendung, die alle Protokollierung gegen log4j macht. Wir verwenden eine Reihe anderer Bibliotheken, die entweder auch log4j verwenden, oder loggen Sie gegen Commons Logging ein, was letztendlich log4j unter die Abdeckungen unserer Umgebung bringt. Eine unserer Abhängigkeiten protokolliert sogar gegen slf4j, was auch gut funktioniert, da es schließlich auch an log4j delegiert.Wie wird java.util.logging an log4j gesendet?
Nun, ich würde gerne ehcache zu dieser Anwendung für einige Caching-Anforderungen hinzufügen. Frühere Versionen von ehcache verwendeten commons-logging, was in diesem Szenario perfekt funktioniert hätte, aber ab version 1.6-beta1 haben sie die Abhängigkeit von commons-logging entfernt und stattdessen durch java.util.logging ersetzt.
Nicht wirklich vertraut mit der integrierten JDK-Protokollierung mit java.util.logging, gibt es eine einfache Möglichkeit, Log-Nachrichten an JUL Log4j protokolliert zu bekommen, so dass ich meine bestehende Konfiguration verwenden und einrichten kann für jede Aufzeichnung, die von ehcache kommt?
Mit Blick auf die javadocs für Juli, es sieht aus wie ich ein paar Umgebungsvariablen einrichten könnte, auf die LogManager
Implementierung verwendet wird ändern, und vielleicht verwenden log4j Logger
s im Juli Logger
Klasse zu wickeln. Ist das der richtige Ansatz?
Eine Art von Ironie, dass die Verwendung einer integrierten JDK-Protokollierung durch eine Bibliothek solche Kopfschmerzen verursachen würde, wenn der Rest der Welt stattdessen Bibliotheken von Drittanbietern verwendet.
gute Verbindung, aber ich denke, Sie # jul-to-slf4j – araqnid
Guten Fang gemeint. Ich habe die Antwort entsprechend aktualisiert. Vielen Dank! – overthink
Das hört sich nach einem guten Ansatz an, außer dass ich es nicht zum Laufen bringen kann :( –