首页 > 解决方案 > 无法绑定 logging.level.* 或 someproperty.*=some_value 下的属性

问题描述

在我从 Spring boot 1.5 迁移到 2.xi 后,出现以下问题:

APPLICATION FAILED TO START

Description:
Failed to bind properties under logging.level to java.util.Map<java.lang.String, java.lang.String>:

Reason: No converter found capable of converting from type [java.lang.String] to type [java.util.Map<java.lang.String, java.lang.String>]

Action:

Update your application's configuration

在我拥有的属性中

logging.level.*=debug

如果我回到 1.5.x 版,它会起作用 谁能指出我正确的方式?

更新:当我使用时会发生同样的问题

someproperty.*=some_value

这意味着.*=SpringBoot 2.0 不支持?

标签: javaspring-bootlogging

解决方案


如果您使用的是 SpringBoot 2.xx,则需要明确提及记录器名称,当您比较两个版本的文档时会注意到这一点。

SpringBoot 2.0.0

... 使用logging.level.<logger-name>=<level>where level 是 TRACE、DEBUG、INFO、WARN、ERROR、FATAL 或 OFF 之一。...

例如:

logging.level.root=WARN

SpringBoot 1.5.4

...logging.level.*=LEVEL其中 'LEVEL' 是 TRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFF 之一...

例如:

logging.level.*=WARN

推荐阅读