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

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

这时候我们很容易想:

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

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

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

path:
log: C:/logs-reptile-dev
测试环境配置文件application-test.yml:

path:
log: C:/logs-reptile-test
 生产环境配置文件application-prod.yml:

path:
log: C:/logs-reptile-prod
在 logback-spring.xml中配置引用如下:

<property name="log.path" value="${path.log}"/>
但是很遗憾这样并读不到我们配置的值,这时候我们需要通过springProperty标签来引用,例入我的:

<springProperty scope="context" name="log.path" source="path.log"/>
这里的name和上面property标签一样不多说,source其实就是上面的value啦,只不过要注意:千万不要加${}

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

posted @ 2019-06-19 18:06  花儿为何那样红  阅读(9114)  评论(1编辑  收藏  举报