Logback SpringProperties, прочитанный до Spring Cloud Config, приводит к ошибке - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть файл 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 читается перед внешней конфигурацией

Каково будет лучшее решение этой проблемы?

...