无法从 Consul 加载 logback.xml

Not able to load logback.xml from Consul

问题是这样的

我在 Consul KV 商店中拥有该项目的所有配置 配置包括 application.yml、logback.xml 和我的项目所需的其他一些配置。

使用 bootstrap.yml 用于 Spring Cloud Consul 配置,其中包含 logging.config 用于配置的 URI URI 如下 logging.config - http://CONSUL_SERVER_IP:CONSUL_SERVER_PORT/v1/kv/CONSUL_CONFIG_PREFIX/logback.xml?raw

还尝试将下面作为 argument/VM 参数传递

-Dlogging.config=http://CONSUL_SERVER_IP:CONSUL_SERVER_PORT/v1/kv/CONSUL_CONFIG_PREFIX/logback.xml?raw

获取实际配置文件需要查询字符串 'raw'。

在执行应用程序时出现以下错误

Caused by: ch.qos.logback.core.LogbackException: Unexpected filename extension of file [http://CONSUL_SERVER_IP:CONSUL_SERVER_PORT/v1/kv/CONSUL_CONFIG_PREFIX/logback.xml?raw]. Should be either .groovy or .xml at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:77) at org.springframework.boot.logging.logback.LogbackLoggingSystem.configureByResourceUrl(LogbackLoggingSystem.java:180) at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:149) ... 30 more

Spring 引导版本 - 2.0.1.RELEASE

Spring云版-Finchley.SR2

logback 经典和核心版本 - 1.2.3

以下解决方案对我有用。只需更改在 bootstrap.yml 中传递给 logging.config 或作为 VM 参数

传递的 URI
http://CONSUL_SERVER_IP:CONSUL_SERVER_PORT/v1/kv/CONSUL_CONFIG_PREFIX/logback.xml?raw=true&xml

如果您遇到类似问题,请将 &fileExtension 添加到 URI