log4j не входит в AIX через websphere - PullRequest
1 голос
/ 02 сентября 2011

У меня есть сервлет, который должен регистрировать сообщения в log4j. В среде разработки (Windows + Eclipse + tomcat) работает log4j.

Когда я развертывал сервлет в рабочей среде (AIX + websphere), он не давал никакого журнала.

Я не знаю, что случилось. Какова возможная причина? Файл war был создан eclipse после проверки работоспособности функции ведения журнала в среде разработки. Я хочу собрать больше подсказок, прежде чем снова развернуть его в производстве.

Java-программа не дала никаких подсказок. Я посмотрел SystemOut.log, и регистраторы log4j были успешно инициализированы, однако они не сказали, что что-то пошло не так с файлами журналов.

Я подозреваю, что 2 причины:

1) каталог журналирования имеет права drwxr-xr-x, может быть, программа java не имеет права создавать файл там?

2) Файлы log4j.properties были странными. Когда я посмотрел его в AIX через vi, я обнаружил, что после каждого конца строки стоит ^ M. Вероятно, Unix не нужен этот символ возврата каретки. Может быть, этот персонаж ^ M испортил вещи?

РЕДАКТИРОВАТЬ: я обнаружил, что есть еще один файл журнала под названием SystemErr.log. Он содержал сообщение об ошибке:

[01.09.11 17: 07: 43: 086 HKT] 00000013 SystemErr R log4j: ОШИБКА Ошибка вызова setFile (null, true).

[01.09.11 17: 07: 43: 086 HKT] 00000013 SystemErr R java.io.FileNotFoundException: /bps/log/BpsPdfBill.log (Разрешения доступа к файлу не разрешают указанное действие.)

1 Ответ

3 голосов
/ 02 сентября 2011

Каково это быть сервлетом? : -)

По теме: если вы разместите свой лог-файл вне папок, в которые WAS распаковывает ваш военный файл, кто является его владельцем? Чтобы иметь возможность записи в каталог с таким разрешением, пользователь was должен быть владельцем (и должен иметь разрешение на доступ к родительским папкам тоже.)

Символы ^ M - это новые строки, которые присутствуют в DOS / Windows, для UNIX они являются пробелами, и, таким образом, это не проблема (просто неприятность), вы можете добавить задачу в свой файл сборки Ant, чтобы удалить символы новой строки перед вами. упакуйте военный архив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...