У меня есть существующее приложение, которое выполняет все его протоколирование с помощью log4j. Мы используем ряд других библиотек, которые либо используют log4j, либо регистрируются в журнале Commons Logging, который заканчивается использованием log4j под обложками в нашей среде. Одна из наших зависимостей даже записывает сообщения в slf4j, что также отлично работает, поскольку в конечном итоге она также делегирует log4j.
Теперь я хотел бы добавить ehcache в это приложение для некоторых потребностей кеширования. Предыдущие версии ehcache использовали commons-logging, которые отлично работали бы в этом сценарии, но с версия 1.6-beta1 они удалили зависимость от commons-logging и вместо этого заменил его java.util.logging.
Не знакомы со встроенным журналом JDK, доступным с помощью java.util.logging, есть ли простой способ иметь любые сообщения журнала, отправленные JUL, logged против log4j, поэтому я могу использовать существующую конфигурацию и настроить для любой журнал, поступающий из ehcache?
Посмотрев на javadocs для JUL, похоже, что я могу настроить группу переменных среды для изменения используемой реализации LogManager
и, возможно, использовать ее для переноса log4j Logger
в класс JUL Logger
. Это правильный подход?
Ирония в том, что использование библиотеки встроенного журналирования JDK может вызвать такую головную боль, когда (в большинстве случаев) остальная часть мира использует сторонние библиотеки.