springboot logback中动态获取application中配置项

在多环境的情况下,logback的日志路径需要进行针对性配置,也就是需要通过application.yml文件中进行配置。


logback自身支持以下方式配置:


<property name="USER_HOME" value="/home/sebastien" />

1

但是怎样才能灵活的配置“/home/sebastien”参数呢,如果不同的环境此参数值不同,那么就需要通过application.yml文件的配置项进行指定。


但是logback.xml加载早于application.yml,如果直接通过${参数key}的形式获取是无法获取到对应参数值的。


因此只能使用spring提供的标签来对此参数进行配置:


   <springProperty scope="context" name="LOG_HOME" source="logback.file"/>

1

对照上面的配置,其中property替换成了springProperty标签。两个配置属性name效果是一样的,只不过后者的source指向了application.yml文件中的key。注意此处不需要${}形式获取。


上一篇:我看JAVA 之 Object & JNI


下一篇:我看JAVA 之 AbstractStringBuilder & StringBuffer & StringBuilder