Log4j проблема с журналированием с 2 ушами в Weblogic - PullRequest
3 голосов
/ 08 сентября 2010

Я развертываю 2 уха в Weblogic 10, A и B. В обоих из них у меня есть файл "log4j.properties". При запуске, когда загружается первое ухо, журналы находятся в правом файле «A.log», но когда загружается второе ухо, все журналы идут в файл «B.log», даже журналы, связанные с первое ухо Я что-то пропустил ... есть идеи?

Спасибо

Редактировать / Решение: Проблема загрузчика. Добавьте в weblogic-application.xml:

<wls:prefer-application-packages> <wls:package-name>org.apache.log4j.*</wls:package-name> </wls:prefer-application-packages>

Спасибо всем:)

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

Я полагаю, что библиотека log4j, используемая сервером Weblogic, используется в обоих ваших веб-приложениях.

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

Если каждое ваше веб-приложение предоставляет копию log4j, и если вы можете выбрать загрузку классов приложения перед классами сервера (я не знаю, Weblogic, но для WebSphere значение «режим загрузчика классов: родительский первый / родительский последний») ') это может решить вашу проблему.

0 голосов
/ 08 сентября 2010

Честно говоря, здесь трудно сказать, но вы можете попробовать это:

1) проверить, являются ли имена регистраторов в обоих файлах свойств log4j уникальными.
2) Я думаю, что .propertiesфайл не кэшируется на диске, но все еще удаляется каталоги развертывания приложения (должны быть отдельными для обоих EAR)

...