我尝试使用' logging.pattern.console'设置日志记录模式。需要包含给定应用程序的CloudFoundry应用程序名称。我知道应用程序名称可以作为VCAP_APPLICATION env变量的一部分找到,其中包含' application_name' key,我可以使用application.yml文件中提供的标准Spring占位符表示法解析Spring Cloud应用程序上的env变量;但由于变量是Json,我无法解析它,也不能使用SpEL来获取所请求的值。
是否有其他方法可以获取application.yml中manifest.yml文件中设置的应用程序名称?
答案 0 :(得分:8)
如果您使用的是Spring Boot,则可以使用属性vcap.application.name
访问应用程序名称。您应该能够在可用属性的任何地方引用它,例如@Value
注释或application.properties。
Spring Boot' CloudFoundryVcapEnvironmentPostProcessor获取VCAP_SERVICES
& VCAP_APPLICATION
环境变量,并通过Spring的环境API将它们作为属性提供。这应该是自动发生的,没有配置或必要的工作。