Изменение уровня журнала во время выполнения в кластерном приложении Spring Boot - PullRequest
0 голосов
/ 22 ноября 2018

У нас есть приложение Spring Boot, которое работает кластеризованно в среде OpenShift.Мы можем динамически масштабировать приложение вверх и вниз, поэтому у нас есть столько экземпляров, сколько нам нужно, чтобы справиться с нагрузкой.

Это приложение использует SLF4J и Logback для регистрации.Теперь мы хотели бы динамически изменить уровень регистрации всех элементов кластера.В настоящее время мы делаем это, изменяя некоторые системные свойства в конфигурации развертывания (например, добавляя -Dlogging.level.com.example=DEBUG), а затем выполняя повторное развертывание приложения.Поскольку приложение кластеризовано, а обновление выполняется по мере поступления, потребители приложения не воспринимают простоев.Тем не менее, приложение также запускает фоновые задачи, которые могут быть прерваны при непрерывном развертывании.Поэтому мы предпочли бы иметь способ обновления конфигурации ведения журнала всех элементов кластера без перезапуска приложения.

Мы знаем, что logback поддерживает мониторинг файла, но мы не можем заменить файлы в контейнерах докера во время выполнения идаже если бы мы могли, нам понадобился бы какой-то способ обеспечить, чтобы это происходило одновременно на всех членах кластера.

Что было бы хорошим способом для достижения этой цели?

...