У меня есть файл logback-spring.xml в приложении, и я использую springProperties, как в примере ниже
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty name="event.pattern" source="my.logging.event.pattern"/>
Значения моих springProperties устанавливаются в конфигурации Spring Cloud.yml файл
my:
logging:
activated: true
appender:
waitStrategyType: sleeping
encoder:
includeCallerData: true
includeMdc: false
event:
maxSize: 15000
pattern: |
{
"message": "%.-${my.logging.event.maxSize}msg",
"req": {
"url": "%mdc{req.url}",
"headers": {
"x-request-id": "%mdc{req.headers.x-request-id}"
}
},
"application": {
"name": "${spring.application.name}"
}
}
К сожалению, я получаю сообщение об ошибке при запуске приложения:
ERROR in net.logstash.logback.composite.loggingevent.LoggingEventPatternJsonProvider@44a2b17b - Failed to parse pattern [event.pattern_IS_UNDEFINED] com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'event': was expecting ('true', 'false' or 'null')
Это потому, что logback-spring.xml читается перед внешней конфигурацией
Каково будет лучшее решение этой проблемы?