Обновление конфигурации ведения журнала PAX через ConfigurationAdmin

Я пытаюсь настроить pax-logging для вывода определенных журналов в определенный файл. Я видел, что это может быть достигнуто с помощью ConfigurationAdmin. Итак, я сделал следующее:

  • Вставьте в план ссылку на сервис ConfigurationAdmin
  • Спросите его для конфигурации с PID = org.ops4j.pax.logging
  • Получите текущую конфигурацию и добавьте свойства для настройки appender и регистратора для моего пакета
  • Вызовите Configuration.update(свойства)

Я вижу, как файл etc/org.ops4j.pax.logging.cfg обновляется и в него добавляются мои новые свойства. Но я не вижу нового файла, созданного для моего appender, и журналы из моего логгера больше не добавляются в karaf.log. Я могу как-то заставить его работать снова, коснувшись файла etc/org.ops4j.pax.logging.cfg, после чего создается новый appender, и я начинаю видеть записи в него. Похоже, это вызвано тем, что felix-fileinstall обнаруживает, что файл изменился, и, возможно, что-то повторно развертывает (не знаю, что)

Мои вопросы:

  • Это правильный способ добавить аппендер программно и динамически? Мое приложение предназначено для распространения в виде файла kar с несколькими функциями, и я хочу, чтобы это происходило при запуске.
  • Нужно ли делать что-то еще, кроме Configuration.update(properties), чтобы pax-logging учитывал изменения? Кажется, что-то меняется, потому что я больше не вижу свои журналы после инициализации пакета, но кажется, что appender не создан.

Я использую karaf 4.1.5 и pax-logging-log4j2 1.10.1

С уважением

Manuel

0 ответов

Другие вопросы по тегам