Отдельные файлы журналов для каждого веб-приложения и общих библиотек с log4j - PullRequest
1 голос
/ 19 марта 2010

У меня мало веб-приложений, запущенных на сервере Tomcat. Каждое приложение содержит собственную копию библиотеки log4j внутри собственной войны. Это позволяет создать отдельную гибкую конфигурацию регистрации для каждого приложения.

У меня также есть несколько общих библиотек (хранящихся в каталоге общих библиотек Tomcat). Я хотел бы, чтобы журналисты разделяемой библиотеки выводили вместе с приложением (которое их использует) вывод логгеров (например: если приложение A регистрирует файл a.log и использует библиотеку b.jar, я бы хотел, чтобы b.jar также регистрировался в файл .log). Проблема в том, что общие библиотеки загружаются shared classloader , что приводит к тому, что они не могут получить доступ к регистраторам, определенным приложениями. Есть ли решение этой проблемы?

1 Ответ

2 голосов
/ 20 марта 2010

Вы можете посмотреть на SL4J мостовое . Вы можете настроить приложение так, чтобы оно перенаправляло вызовы с log4j на sl4j, а затем вы можете делать с ними то, что вам нравится, вы можете настроить их так, чтобы они выходили в одном файле или как угодно.

Здесь также есть хорошая статья: Мысли о журналировании Java и SLF4J

...