Log4J ничего не регистрирует

Я только что взял существующее веб-приложение на работе, которое должно регистрировать свою активность с помощью Log4J. Я настроил свое рабочее пространство точно так, как мне сказали, и все остальное (подключение к базе данных, аутентификация и т. д. )работает нормально, за исключением того, что в файл журнала ничего не записывается. Другие подобные приложения не имеют проблем с ведением журнала.

Я просмотрел консоль WebSphere при запуске приложения, и там нет ошибок, которые могли бы указать, почему Log4J не ведет журнал.

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

Я просмотрел файл конфигурации и файл свойств, и все выглядит нормально. Я подозреваю, что Log4J даже не читает log4j.xml, но я в этом не уверен. Прошло некоторое время с тех пор, как я работал с Log4J -. Есть ли у кого-нибудь хорошие советы по решению проблем -такого типа?

PS :Существуют экземпляры этого приложения, развернутые на различных тестовых/QA/prod-серверах, и все эти экземпляры регистрируются нормально. Это только на локальных рабочих станциях, где запись в журнал, похоже, не работает.


Обновление:Таким образом, похоже, проблема в способе развертывания приложения. Я изменил режим загрузчика классов на «Родительский последний» и вижу, что файл Log4J, по крайней мере, читается сейчас. И первое действие, которое я пытаюсь выполнить, вызывает сообщение ClassNotFoundException, говорящее, что org.apache.commons.logging.impl.Log4jFactoryне может быть найдено.


2-е обновление: Я заметил кое-что странное...Приложение имеет два проекта WAR -, один из которых предназначен для пользовательского интерфейса, а другой — для некоторых веб-служб. Проект, предназначенный для пользовательского интерфейса , успешно регистрирует свои операции в файле журнала. Проект веб-службы — это тот, который терпит неудачу с ClassNotFoundException. Оба они имеют общие файлы -logging.jar, указанные как зависимость модуля JavaEE, и ни один из них не имеет конкретной конфигурации ведения журнала -проекта (все файлы конфигурации находятся в проекте Resources ).

Основное отличие состоит в том, что этот проект пользовательского интерфейса включает некоторые другие в -собственные фреймворки (, предварительно -, скомпилированные в виде JAR-файлов ), которые могут уже включать необходимые конфигурации ведения журнала, и, возможно, в этом разница..

Я также попытался использовать ответ (файл с именем org.apache.commons.logging.LogFactory в META -INF/services с одной строкой, содержащей :"org.apache.commons.logging.impl.Log4jFactory ")из этого вопроса:Websphere все логи идут в SystemOut.log но вроде не помогло.

7
задан Community 23 May 2017 в 12:26
поделиться