欢迎访问github
配置文件在本地时
在项目输出日志时,有时候会根据不同的环境将日志输出到不同的目录下,这个时候就需要在logback配置文件中去读取配置文件获取当前环境
一般的配置文件直接 ${} 就可以获取到,在logback中则需要加上
<springProperty scope="context" name="LOG_HOME" source="logging.path"/>
这样才可以获取配置文件中key为logging.path的值。
配置文件在远端时
这个时候加载顺序就出现了问题,Spring boot会先加载本地配置文件和XML文件,然后再去远端拉取配置文件。
这样当加载本地logback文件时,会发现无法找到logging.path变量,因为远端配置文件还未加载。
解决方案
首先将logback配置文件换个名字,让Spring boot加载的时候不会自动加载这个,然后再远端的配置文件中加上
logging.config=classpath:logback-nagisazz.xml
意思是指定配置logback的配置文件位置
这样顺序就变成了先加载本地配置文件,然后加载远端配置文件,最后加载logback,问题就解决了。