Spring Boot 2.2.6-RELEASE
在我的application.yml
中,我有这样一行:
logging.config: classpath:my-logback-config.xml
这工作得很好,春天得到它的配置很好
在我的my-logback-config.xml
中,我有这样一行:
<springProperty name="LOG_HOST" source="config.logHost" />
<springProperty name="LOG_PORT" source="config.logPort" />
同样,这很好,它从外部配置文件中获取值,该文件在ENV变量中定义
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在初始化日志记录的时候还没有初始化。
最后,问题是ENV varSPRING_CONFIG_ADDITIONAL_LOCATION
被设置为文件夹,而不是容器上的文件。
在本地,在windows上,将"SPRING_CONFIG_ADDITIONAL_LOCATION"设置为文件或文件夹似乎有效,但在Docker映像(RH-linux(中,它会产生影响。
当SPRING_CONFIG_ADDITIONAL_LOCATION
被设置为文件夹时;。属性";文件被忽略。
我可以通过更改我的docker文件来复制(修复(问题:
ENV SPRING_CONFIG_ADDITIONAL_LOCATION="/mnt/properties/application.properties"
至
ENV SPRING_CONFIG_ADDITIONAL_LOCATION="/mnt/properties/"