log4j, входящий в catalina.out в unix вместо файла журнала - PullRequest
0 голосов
/ 07 августа 2009

В моем веб-приложении я инициирую регистрацию в своем веб-приложении с помощью функции PropertyConfigurator.configure(filepath) в сервлете, который загружается при запуске.

String log4jfile = getInitParameter("log4j-init-file");
if (log4jfile != null) {
     String propfile = getServletContext().getRealPath(log4jfile);
     PropertyConfigurator.configure(propfile);

Я поместил мой log4j.properties файл в каталог WEB_INF / classes и указываю файл как

log4j.appender.rollingFile.File=${catalina.home}/logs/myapp.log

Мой корневой логгер был изначально настроен как:

log4j.rootLogger=DEBUG, rollingFile,console

(я считаю, что атрибут console также записывает операторы в catalina.out)

В Windows ведение журнала, как правило, происходит с операторами, появляющимися в файле журнала.

В Unix мои операторы журналирования перенаправляются в catalina.out вместо моего реального файла журнала (который содержит только журналы из сервлета инициализации). Все последующие журналы отображаются в catalina.out.

Это заставляет меня поверить, что мой log4j не настроен должным образом, но я не могу выяснить причину. Может ли кто-нибудь помочь мне выяснить, где может быть проблема.

Заранее спасибо, Fell

Ответы [ 3 ]

1 голос
/ 08 августа 2009

Это может быть проблема с разрешениями - проверьте владельцев и разрешения каталога $ {catalina.home} / logs.

0 голосов
/ 17 февраля 2014

Проверьте, установлена ​​ли на вашем компьютере переменная среды CATALINA_HOME. Вы можете проверить это в Linux, набрав 'echo $ CATALINA_HOME'.

0 голосов
/ 08 августа 2009

Это будет зависеть от сервера, который вы используете. Это Tomcat? Это одна и та же версия для Windows и Linux?

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