首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Cloud Kubernetes的Spring Boot Log初始化

Spring Cloud Kubernetes的Spring Boot Log初始化
EN

Stack Overflow用户
提问于 2020-10-21 05:25:34
回答 1查看 117关注 0票数 0

Spring Boot 2.2.6-版本

在我的application.yml中,我有这行代码:

代码语言:javascript
运行
复制
logging.config: classpath:my-logback-config.xml

这很好用,spring很好地配置了它。

在我的my-logback-config.xml中有这样一行:

代码语言:javascript
运行
复制
<springProperty name="LOG_HOST" source="config.logHost" />
<springProperty name="LOG_PORT" source="config.logPort" />

同样,这也很有效,它从外部配置文件中获取值,该文件在ENV变量中定义

代码语言:javascript
运行
复制
SPRING_CONFIG_ADDITIONAL_LOCATION=file:/my-env.properties

但是当我启用Spring Cloud Kubernetes时,这将失败,并显示一个UnknowHostException:"LOG_HOST_IS_UNDEFINED" cannot be resolved. ( LOG_HOST的值用于设置网络附加器)

为什么开启Spring Cloud Kubernetes会改变日志初始化的行为?

似乎还没有加载来自SPRING_CONFIG_ADDITIONAL_LOCATION的值。

我不能从configMap加载这个值,因为在初始化日志的时候Spring Cloud Kubernetes还没有初始化。

EN

回答 1

Stack Overflow用户

发布于 2020-10-22 04:12:19

最后,问题是ENV var SPRING_CONFIG_ADDITIONAL_LOCATION被设置为文件夹,而不是容器上的文件。

在本地,在windows上,将'SPRING_CONFIG_ADDITIONAL_LOCATION‘设置为文件或文件夹似乎是可行的,但在Docker镜像(RH linux)中,这是有影响的。

SPRING_CONFIG_ADDITIONAL_LOCATION设置为文件夹时,将忽略封闭的".properties“文件的值。

我可以通过更改我的docker文件来重现(修复)这个问题:

代码语言:javascript
运行
复制
ENV SPRING_CONFIG_ADDITIONAL_LOCATION="/mnt/properties/application.properties"

代码语言:javascript
运行
复制
ENV SPRING_CONFIG_ADDITIONAL_LOCATION="/mnt/properties/"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64453554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档