Mam istniejącą aplikację, która wykonuje wszystkie swoje logowanie względem log4j. Korzystamy z wielu innych bibliotek, które albo używają log4j, albo logują się do Commons Logging, co kończy się użyciem log4j pod osłonami w naszym środowisku. Jedna z naszych zależności loguje nawet do slf4j, która również działa dobrze, ponieważ ostatecznie deleguje również do log4j.
Teraz chciałbym dodać ehcache do tej aplikacji na potrzeby buforowania. Poprzednie wersje ehcache wykorzystywały wspólne logowanie, które działałoby doskonale w tym scenariuszu, ale od wersji 1.6-beta1 usunęły one zależność od commons-logging i zamiast tego zastąpiły je java.util.logging.
Nie jestem zaznajomiony z wbudowanym rejestrowaniem JDK dostępnym w java.util.logging, czy istnieje łatwy sposób, aby jakiekolwiek komunikaty dziennika wysyłane do JUL były rejestrowane w log4j, więc mogę użyć mojej istniejącej konfiguracji i ustawić dla każdego nadchodzącego logowania z ehcache?
Patrząc na javadoc dla JUL, wygląda na to, że mógłbym ustawić kilka zmiennych środowiskowych, aby zmienić LogManager
używaną implementację, i być może użyć tego do zawijania log4j Logger
w Logger
klasie JUL . Czy to jest właściwe podejście?
To trochę ironiczne, że korzystanie przez bibliotekę z wbudowanego rejestrowania JDK powodowałoby taki ból głowy, gdy (większość) reszta świata zamiast tego korzysta z bibliotek innych firm.