Единый Log4j между Tomcat6 веб-приложений - PullRequest
0 голосов
/ 02 октября 2009

Существует ли правильный способ использовать Log4j logger с Common ClassLoader, а не с ClassLoader на основе веб-приложения, т. Е. Использовать только один log4j.jar для всех развернутых веб-приложений? Когда я помещаю log4j.jar в каталог lib commons, log4j получает первый loj4j.properties для любого приложения и использует только его. Все остальные loj4j.properties (других приложений) игнорируются. Есть ли способ сказать log4j, чтобы он возвращал отдельную фабрику журналов для каждого приложения со своими свойствами?

1 Ответ

1 голос
/ 05 октября 2009

Не так, как я думаю, вы имеете в виду, потому что регистраторы каждого веб-приложения должны быть полностью независимы от регистраторов в других веб-приложениях. Поскольку репозитории журналов являются синглетонами, это можно сделать только в том случае, если они обрабатываются отдельными загрузчиками классов, т.е. загрузчиками классов веб-приложения.

Также обратите внимание, что в целом (хотя это может быть не так), разные веб-приложения имеют разные жизненные циклы, что означает, что Tomcat может поддерживать веб-приложение A, используя одну версию log4j одновременно с веб-приложением B, использует другую версию log4j.

...