Я пытаюсь настроить 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
С уважением
Мануэль