在多环境部署场景下,Logback 的日志路径需根据环境进行针对性配置,通常建议在 application.yml 文件中定义。
Logback 原生支持如下方式配置属性:
<property name="USER_HOME" value="/home/sebastien" />
但如何灵活配置如'/home/sebastien'这类参数呢?若不同环境参数值不同,则需通过 application.yml 文件指定。
由于 logback.xml 加载早于 application.yml,直接通过 ${参数 key} 形式无法获取对应参数值。
此时应使用 Spring 提供的标签进行配置:
<springProperty name="LOG_HOME" source="logback.log.home" />
对比上述配置,原生的 property 标签被替换为 springProperty 标签。两者 name 效果一致,区别在于后者 source 指向了 application.yml 文件中的 key。注意此处取值时不需要再添加 ${} 包裹。

