原创

Spring boot使用logback实现多环境日志配置

最近在做一套网关服务发现的项目,使用assembly编译为tar包进行部署,希望将spring boot的配置文件外移。
上述功能已经实现,但之后发现项目中的配置未在logback 日志中生效。

1、使用application.yml配置多环境变量,使用logback.xml实现日志配置。

不能实现多环境配置(即logback配置未生效),打印的日志路径和日志级别不是配置文件中的值。
项目配置文件-application.yml。

logging:

日志输出路径

path: ${define.logging.path}
level: info # 日志级别
config: classpath:logback.xml

${define.logging.path} 的配置定义于不同环境的配置文件中


#Used by yml
define.server.port = 8000
define.logging.path = D:/data/logs/service-gateway

日志配置文件-logback.xml


<property name="LOG_HOME" value="${define.logging.path}"/>
<property name="LEVEL" value="${logging.level}"/>

查阅 官方文档
图片


也就是说,logback.xml加载早于application.yml,需改用logback-spring.xml实现日志配置。

2、经上修改后,发现配置文件已生效,但logback-spring.xml中的变量并未生效。

查看 官方文档
图片


官方文档指明,需要使用springProperty才可生效!



正文到此结束
广告是为了更好的提供数据服务
本文目录