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

springboot项目logback.xml或者logback-spring.xml中读取不到application.yml或application.properties配置文件中的配置解决办法

2018-10-24 14:51 2735 查看

在springboot项目中我们可能想要实现不同环境的日志项目配置不同,比如我想让不同环境的日志路径不同。

这时候我们很容易想:

1、到将日志路径配置在springboot的:application-dev.yml,application-prod.yml,application-test.yml配置文件中,

2、再在logback.xml或者logback-spring.xml中使用 "${}"来引用配置值,比如我的日志输出目录在不同环境配置文件的配置如下:

开发环境配置文件application-dev.yml:

[code]path:
log: C:/logs-reptile-dev

测试环境配置文件application-test.yml:

[code]path:
log: C:/logs-reptile-test

 生产环境配置文件application-prod.yml:

[code]path:
log: C:/logs-reptile-prod

在 logback-spring.xml中配置引用如下:

[code]<property name="log.path" value="${path.log}"/>

但是很遗憾这样并读不到我们配置的值,这时候我们需要通过springProperty标签来引用,例入我的:

[code]<springProperty scope="context" name="log.path" source="path.log"/>

这里的name和上面property标签一样不多说,source其实就是上面的value啦,只不过要注意:千万不要加${}

如果还是读取不到,请把你的logback.xml配置文件名,改为:logback-spring.xml就可以啦

至于为什么要这么做,就是因为logback.xml的加载顺序早于springboot的application.yml配置文件当然读不到application.yml文件中的值了。想了解更多自行百度吧。

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