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