Ich habe eine vorhandene Anwendung, die die gesamte Protokollierung gegen log4j durchführt. Wir verwenden eine Reihe anderer Bibliotheken, die entweder ebenfalls log4j verwenden oder sich gegen Commons Logging anmelden, wodurch log4j in unserer Umgebung unter dem Deckmantel verwendet wird. Eine unserer Abhängigkeiten protokolliert sogar gegen slf4j, was ebenfalls gut funktioniert, da es schließlich auch an log4j delegiert wird.
Jetzt möchte ich dieser Anwendung ehcache für einige Caching-Anforderungen hinzufügen. In früheren Versionen von ehcache wurde die Commons-Protokollierung verwendet, was in diesem Szenario perfekt funktioniert hätte. Ab Version 1.6-Beta1 wurde jedoch die Abhängigkeit von der Commons-Protokollierung aufgehoben und stattdessen durch java.util.logging ersetzt.
Da ich mit der integrierten JDK-Protokollierung, die mit java.util.logging verfügbar ist, nicht wirklich vertraut bin, gibt es eine einfache Möglichkeit, Protokollnachrichten an JUL zu protokollieren, die gegen log4j protokolliert werden, sodass ich meine vorhandene Konfiguration verwenden und für jede kommende Protokollierung einrichten kann von ehcache?
Wenn ich mir die Javadocs für JUL anschaue, könnte ich eine Reihe von Umgebungsvariablen einrichten, um zu ändern, welche LogManager
Implementierung verwendet wird, und diese möglicherweise verwenden, um log4js Logger
in die JUL- Logger
Klasse einzuschließen . Ist das der richtige Ansatz?
Ein bisschen ironisch, dass die Verwendung der integrierten JDK-Protokollierung in einer Bibliothek solche Kopfschmerzen verursachen würde, wenn (fast) der Rest der Welt stattdessen Bibliotheken von Drittanbietern verwendet.