您的位置:首页 > 编程语言 > Java开发

Spring Boot 配置文件加载顺序

2017-11-24 09:41 666 查看
有这么一种情况,在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配置文件中

待补充。。。。。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: