слушатель изменения конфигурации log4j - PullRequest
5 голосов
/ 16 марта 2011

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

Приложение работает на JBoss, и проблема возникает при редактировании файла $JBOSS/server/default/conf/jboss-log4j.xml, но я считаю, что проблема не относится к JBoss ASна все.

Ответы [ 2 ]

0 голосов
/ 16 марта 2011

Настраивается ли log4j путем явного вызова configureAndWatch() в вашем коде?

Если это так, то простое исправление - не вызывать метод "andWatch", а обычный configure().

Есть ли причина, по которой эти пользовательские приложения не могут быть настроены в файле свойств, а не специально в коде?

0 голосов
/ 16 марта 2011

Вы могли бы, я полагаю, периодически опрашивать Log4j API, спрашивая, подключены ли ваши пользовательские приложения (используя Category.isAttached(appender)), и при необходимости повторно подключать. Это довольно неуклюже, но я не знаю ни одного механизма уведомления для этого.

...