Log4j в Вебсфере - PullRequest
       32

Log4j в Вебсфере

5 голосов
/ 02 октября 2011

Недавно я занялся проектом веб-приложения, используя websphere и log4j, работающие под AIX.Чтобы создать среду разработки, я настроил все компоненты в Windows, используя eclipse для компиляции файла WAR и его развертывания.

Все работает нормально, за исключением того, что файл журнала не создается.Я изменил файл журнала в log4j.properties, как показано ниже, и дал всем право полного доступа к каталогу:

log4j.appender.F1.File=/abc/def/logs/admin.log

на

log4j.appender.F1.File=c:/logs/admin.log

Что еще можно проверить?

Я создаю простой автономный testapp, который использует те же log4j.properties и может создавать файл журнала, но когда сервлет развернут в веб-сфере, он не работает.Пожалуйста помоги!Спасибо!

Ответы [ 3 ]

4 голосов
/ 03 октября 2011

Хорошо, я думаю эта статья должна вам помочь.Похоже, что WebSphere CE по умолчанию использует log4j и управляет им с помощью файла глобальных свойств.Существует раздел о том, как использовать специфичные для приложения файлы свойств.

1 голос
/ 04 октября 2011

Вот что я пытаюсь сделать для устранения подобных проблем.

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

    -Dlog4j.debug = true

  2. Я бы не стал жестко кодировать местоположение log4j в коде.Вместо этого я бы использовал системное свойство log4j.configuration и указал бы это в аргументах JVM.Таким образом, даже мне не нужно трогать мой код.

    -Dlog4j.configuration = file: ///home/manglu/log4j.properties

Я быиспользуйте этот подход независимо от используемого мной сервера времени выполнения (будь то Tomcat или WAS CE или WAS)

Надеюсь, это поможет

0 голосов
/ 02 октября 2011

Я предлагаю вам использовать переменные окружения, установленные на вашем сервере следующим образом:

Вы должны получить доступ к консоли администратора вашего сервера. Под пользовательскими свойствами

Server_Path = / ABC / Защита / журналы

В вашем log4j используйте это: {$ server_path} /log.txt

Убедитесь, что пользователь, запустивший приложение, имеет доступ к этому каталогу.

...