springboot 工程里,其他配置文件如何读取 application.properties 文件中的变量

2021-03-17 23:31:50 +08:00
 NoKey

比如我的日志配置文件,log4j2-spring.properties

这里面我要配置日志的保存路径

这个路径根据不同的环境,配置不同,写在了 application.properties 中

那么我如何能够读取到 application.properties 的变量呢?

百度了好久没找到解决办法

求大佬赐教,谢谢。

2448 次点击
所在节点    程序员
8 条回复
huijiewei
2021-03-18 02:16:40 +08:00
wangyanrui
2021-03-18 07:36:54 +08:00
官网的文档里就有写,之前看到过
airfling
2021-03-18 08:27:09 +08:00
配置一个 ApplicationListener<ApplicationEnvironmentPreparedEvent>即可
airfling
2021-03-18 08:28:24 +08:00
log4j2 用的是系统变量,所以把变量写到 System.setProperty(name, value)
passerbytiny
2021-03-18 09:34:34 +08:00
建议你看一下 spring boot 外部配置文件的加载机制,不要这么干。

不同环境使用不同配置,要用 profile 来处理。
fangcan
2021-03-18 10:45:41 +08:00
log4j2-spring.properties 这个是不是也可以配置成多环境?
NoKey
2021-03-19 00:09:52 +08:00
@airfling 谢谢。这个 name value 从哪里读取呢? application.properties? 在 application 运行的时候加载进去么?我之前试过了,好像这个阶段无法读取 application.properties 的内容
NoKey
2021-03-19 00:10:32 +08:00
@huijiewei 谢谢,这个网站目前维护了😅

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/762641

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX