使用环境变量时,将不会采用spring boot中日志记录级别的默认值

时间:2014-10-09 12:35:04

标签: spring spring-boot

如果我想通过环境变量在yaml配置中设置日志记录级别并且未设置环境变量,则不会采用默认值。

logging.level.: ${LOG_LEVEL:INFO}
logging.level.org.hibernate: ${LOG_LEVEL_HIBERNATE:INFO}

输出:

o.s.b.l.LoggingApplicationListener: Cannot set level: ${LOG_LEVEL:INFO} for ''
o.s.b.l.LoggingApplicationListener: Cannot set level: ${LOG_LEVEL_HIBERNATE:INFO} for 'org.hibernate'

仅在设置日志记录级别时,因为在LoggingApplicationListener#setLogLevels中未使用PropertyPlaceholderResolver。所有其他属性都可以通过env vars设置,它属于默认值...

是否有人通过覆盖LoggingApplicationListener来解决这个问题?

1 个答案:

答案 0 :(得分:1)

Spring Boot不支持(现在是https://github.com/spring-projects/spring-boot/issues/1680)。