Потенциальная регистрация / ситуация с затуханием Log4j - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть два веб-приложения, развернутые в Tomcat. Служба запускается с -Dlog4j.configuration = log4j.properties в catalina.sh

Иногда я замечаю, что только один из веб-приложений регистрируется в файле. Я перезагружаю Tomcat, и оба снова регистрируются. Любые идеи о том, что конфликт может быть? Разве это не должна быть поддерживаемая конфигурация, поскольку оба приложения работают в одной JVM с глобальной конфигурацией?

Единственное, что я могу думать о том, что это может помешать, - это конфигурация журнала CXF: META-INF / cxf / org.apache.cxf.Logger

обновление

Я обнаружил, что оба веб-приложения все еще регистрируются, но одно веб-приложение регистрируется в другой позиции в файле, поэтому я увижу что-то вроде

1:59PM - xx
2:00PM - xxxx
1:45PM - xxx

и т.д.

Иногда это будет вход в свернутый файл.

1 Ответ

1 голос
/ 14 февраля 2011

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

Category logger = Logger.getLogger(yourClass);
do {
  Level level = logger.getLevel();
  System.out.println("Log level of " + logger + " is " + level + ". Appenders:");
  for (Enumeration appenders = logger.getAllAppenders() ; appenders.hasMoreElements() ;) {
    System.out.println(appenders.nextElement());
  }
  logger = logger.getParent();
} while (logger != Logger.getRootLogger())

Немного иронично отлаживать log4j с помощью System.out.println, но он бы справился с работой (в любом случае, это просто код).

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