Я использую WAR, упакованный в EAR на WebLogic 9.2 . Моя функция использует slf4j для входа в систему с использованием конфигурации log4j.xml . log4j.xml находится в каталоге resources
проекта war
, поэтому он попадает в каталог WEB-INF/classes
.
Все работало как под WebLogic 8 , так и Weblogic 9.2 под Windows, однако WebLogic 9.2 под Linux просто игнорирует файл, и файл журнала не создается .
Я тестировал следующие модификации:
- Удалено имя каталога от
File
param до RollingFileAppender
, оставляя только имя файла
- Включая и исключая
log4j
из войны (область действия provided
)
- Использование
slf4j
версии 1.5.10 с log4j
версия 1.2.8 (из weblogic) и 1.2.12
- Размещение отдельного файла log4j.xml в каталоге
mydomain/conf
Однако ни одно из них не заставляло сообщения журнала появляться нигде. Даже info
сообщения не отображаются в главном журнале, однако это установлено для info
сообщений, а в предыдущем weblogic они также отображались в главном журнале.
Что еще хуже, даже System.out
звонки идут на null
и нигде не отображаются.
Итак, в настоящее время я понятия не имею, что не так, потому что даже нет сообщения об ошибке о конфигурации журнала. Кто-нибудь может помочь?
У меня обновление немного.
Я успешно установил параметр log4j.debug = true для weblogic и получил коммюнике: log4j:WARN No appenders could be found for logger
Но файл log4j.xml присутствует в WEB-INF/classes
. Я дополнительно добавил к WEB-INF
. И это так и работало под виндой. Так что я не знаю, что вызывает проблему с поиском этого файла в Linux.
Обновление 2
Ведение журнала работает в Linux-версии WebLogic 9.2 . Проблема зависит от конкретного случая. Но я до сих пор не знаю, что можно запутать, чтобы добиться такого эффекта. В конфигурации в веб-консоли ничего подозрительного не вижу.