Spring Boot 配置文件加载顺序

来源:互联网 发布:维弗网络 编辑:程序博客网 时间:2024/06/05 11:17

有这么一种情况,在application.properties有以下配置:

spring.profiles.active=dev

然后在logback-spring.xml中有以下配置:

 <springProfile name="test">  <property name="log.path" value="/var/log/coxconfigserver" /> </springProfile> <springProfile name="prod">  <property name="log.path" value="/var/log/coxconfigserver" /> </springProfile> <springProfile name="dev">  <property name="log.path" value="D:\\log\\coxconfigserver\\" /> </springProfile>

<File>${log.path}/loaderLogs/loader.log</File>

发现会在项目的根目录下生成一个名字为log.path_IS_UNDEFINED的文件夹,里面有日志文件,但内容只有启动时打印的一点日志信息,或者什么内容都没有,然后,在D:\\log\\coxconfigserver\\下也会有日志文件,这里的日志文件内容比较多,后续调用系统的时候,日志信息也会写到这里,发生这种情况的原因是,系统先加载了日志配置文件,然后开始启动系统,加载application.properties,这时候spring.profiles.active还没有值,所以${log.path}也就没有定义,所以会先在跟目录下生成log.path_IS_UNDEFINED文件夹,随着系统加载了application.properties之后,${log.path}才被定义,所以,才会在相应的路径生成日志文件,后续的日志信息也被写到这里。

可以把spring.profiles.active=dev写到bootstrap.properties配置文件中


待补充。。。。。




原创粉丝点击