无法从Consul加载logback.xml

时间:2018-12-19 07:22:08

标签: java spring-boot consul spring-cloud-consul consul-kv

问题是这样的

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

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

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

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

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

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

  

由以下原因引起:ch.qos.logback.core.LogbackException:意外的文件名   文件扩展名   [http://CONSUL_SERVER_IP:CONSUL_SERVER_PORT/v1/kv/CONSUL_CONFIG_PREFIX/logback.xml?raw]。   在以下位置应为.groovy或.xml   ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:77)     在   org.springframework.boot.logging.logback.LogbackLoggingSystem.configureByResourceUrl(LogbackLoggingSystem.java:180)     在   org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:149)     ...再加30

春季启动版本-2.0.1.RELEASE

Spring云版本-Finchley.SR2

logback经典和核心版本-1.2.3

1 个答案:

答案 0 :(得分:0)

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

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

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