Log4j(通过Spring Boot Logging)logging.level属性是否允许使用通配符?

L S*_*L S 7 java logging

当我安装使用Log4j的Java应用程序(通过Spring Boot Logging)时,我被告知我可以通过在application.properties文件中包含以下行来为应用程序中使用的所有包配置日志记录级别:

logging.level.*=ERROR

哪里ERROR可以是我想要使用的任何日志记录级别.

但是,当我将级别从一个值更改为另一个值时,无论我使用什么值,我都发现日志消息DEBUG会显示在日志中.

最后,我发现使用特定的包名称可以控制要记录的最低级别.也就是说,logging.level.org.orgname.appname=ERROR会做我想做的事.

日志级别属性是否意味着支持像"*"这样的通配符?

L S*_*L S 6

由于我的问题似乎不受欢迎,但无论如何我已经找到了答案,为了完整起见,我将其发布。

Log4j 和 Spring Boot Logging 都不支持通配符,例如logging.level.*. 有一些文档使用了那个确切的短语,但它们的意思是让读者用包名替换星号。我的同事不明白这一点,并在他们的应用程序文档中逐字使用。

Spring Boot Logging 中的等效项是logging.level.root. Log4j 配置文件中的等效项是log4j.rootLogger,尽管这需要一个或多个附加参数来提供日志附加程序对象的名称。