Добавление и удаление регистраторов во время выполнения в log4j.xml - PullRequest
2 голосов
/ 04 января 2012

Я добавляю регистраторы во время выполнения в log4j.xml

<logger name="com.bas">    
       <priority value="DEBUG"/>
       <appender-ref ref="B2BAPP"/>
</logger>

мой Java-код для кодирования среды выполнения log4j.xml

LogManager.resetConfiguration();
DOMConfigurator.configureAndWatch(log4j.xml,100000L);

Получение регистраторов во время выполнения в Java-коде через:

Enumeration enumLoggers = 
      Logger.getRootLogger().getLoggerRepository().getCurrentLoggers();

Когда я добавляю регистратор в log4j, тогда я получаю имя регистратора в enumLoggers , но если я удаляю любой существующий регистратор (например, удаленный регистратор "com.bas"), то это не такудаление из enumLogger даже после указанной временной задержки (например, 100000L в этом случае).

Могу я узнать почему?Я что-то пропустил?

1 Ответ

1 голос
/ 05 января 2012

Беглый взгляд на класс XMLWatchdog (и его суперкласс) показывает, что он не вызывает LogManager.resetConfiguration(), поэтому, возможно, в этом причина? Вероятно, он должен работать «постепенно».

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