Событие обновления Consul с @RefreshScope останавливает ведение журнала журнала приложения?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Событие обновления Consul с @RefreshScope останавливает ведение журнала журнала приложения?

Сообщение Anonymous »

При изменении свойства в Consul все входы в приложение прекращаются. Я использую @RefreshScope в нескольких классах @Configuration, больше нигде и ни для чего, связанного с ведением журнала. Приложение запускается внутри Docker-контейнера, и некоторые свойства журнала, такие как местоположение журнала и имя файла, выбираются во время выполнения через переменные среды — это работает нормально. Мы используем logback для ведения журнала и настраивается через xml. Я подозреваю, что конфигурация журнала перезагружается при событии обновления консула и после этого не может продолжить ведение журнала.
Я попытался удалить все соответствующие свойства журнала из консула, но это не помогло. решить проблему. Я убедился, что все аннотации @RefreshScope не имеют никакого отношения к логбэку, и это правда. Ниже я прикрепляю конфигурацию журнала, так как считаю, что она наиболее актуальна на данный момент. Была предпринята попытка распечатать журналы отладки для входа в систему, но даже после добавления -Dlogback.debug=true или в XML-файл журнал отладки не выводился.

Код: Выделить всё













true
${LOGGING_JSON_PATH}/${LOG_FILE_NAME}









{
"message": "%message",
"severity":"%p",
"component": "%c{1}",
"line_number": "[%file:%line]",
"userid": "%X{userId}",
"sessionId": "%X{sessionId}",
"app": "project",
"stackTrace": "%X{stack_trace}"
}




30
2048
20
^sun\.reflect\..*\.invoke
^net\.sf\.cglib\.proxy\.MethodProxy\.invoke
true







${LOGGING_JSON_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}.%i.gz

20MB


1
true





...

Я опустил большую часть настроек Brewity. Но средства ведения журнала и приложения работают должным образом и регистрируются в ожидаемых файлах. Когда запускается событие изменения среды консула, вся регистрация прекращается.
Переменные среды входа в систему передаются через docker-compose:

Код: Выделить всё

environment:
- "SPRING_PROFILES_ACTIVE={{ key "/placeholder/project/SPRING_PROFILES_ACTIVE" }}"
- "LOGGING_FILE_NAME={{ key "/placeholder/project/LOGGING_FILE_NAME" }}"
- "LOGGING_JOB_PATH_FILE_NAME={{ key "/placeholder/project/LOGGING_JOB_PATH_FILE_NAME" }}"
Имена значений и свойств были изменены, чтобы удалить конфиденциальную информацию, поэтому возможны опечатки и несовпадающие имена.
Кто-нибудь сталкивался с чем-то подобным?

Подробнее здесь: https://stackoverflow.com/questions/788 ... ck-logging
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»