Обновление конфигурации ведения журнала PAX через ConfigurationAdmin - PullRequest
0 голосов
/ 04 декабря 2018

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

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

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

Мои вопросы:

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

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

С уважением

Мануэль

...