如何通过 Spring 引导应用程序中的 application.properties 禁用 WARN 消息并仅启用日志中的 INFO 消息?

How to disable WARN messages and enable only INFO messages in logs through application.properties in Spring boot application?

我已经尝试在 application.properties 中使用以下 属性 值来仅启用记录器 INFO 消息。但看起来它没有按预期工作。我仍然看到警告消息与信息消息一起出现。但是我只想显示 INFO 消息,我这里做错了吗?

logging.level.root=信息

2018-12-21 09:46:25.312  INFO 12364 --- [nio-8081-exec-2] c.m.s.abc.util.FileUploadUtil      : Sample message 1
2018-12-21 09:46:25.316  INFO 12364 --- [nio-8081-exec-2] c.m.service.abc.util.EnvelopeUtil  : Sample message 2
2018-12-21 09:46:25.316  INFO 12364 --- [nio-8081-exec-2] c.m.service.abc.util.EnvelopeUtil  : Sample message 3
2018-12-21 09:46:25.316  INFO 12364 --- [nio-8081-exec-2] c.m.service.abc.util.EnvelopeUtil  : Sample message 4
2018-12-21 09:46:27.813  WARN 12364 --- [nio-8081-exec-2] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+11 (11) in font ArialNarrow-Bold-Identity-H
2018-12-21 09:46:27.813  WARN 12364 --- [nio-8081-exec-2] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+48 (48) in font ArialNarrow-Bold-Identity-H
2018-12-21 09:46:27.813  WARN 12364 --- [nio-8081-exec-2] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+68 (68) in font ArialNarrow-Bold-Identity-H
2018-12-21 09:46:27.813  WARN 12364 --- [nio-8081-exec-2] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+86 (86) in font ArialNarrow-Bold-Identity-H
2018-12-21 09:46:27.814  WARN 12364 --- [nio-8081-exec-2] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+88 (88) in font ArialNarrow-Bold-Identity-H
2018-12-21 09:46:27.814  WARN 12364 --- [nio-8081-exec-2] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+87 (87) in font ArialNarrow-Bold-Identity-H

您没有做错任何事情,但是 Spring Boot(Logback、Log4j2、JUL)支持的 none 个日志系统按您预期的方式工作。当您为特定记录器设置级别时,它将记录该级别及更高级别的所有内容。如您所见,这意味着当启用 INFO 级别日志记录时,也会记录 WARN(和 ERROR)条消息。

如果您只想记录特定级别的消息,则必须使用更复杂的配置。例如,Logback 提供了一个 LevelFilter 来提供您想要的行为。要配置它,您必须使用 logback.xml 而不是仅依赖 Spring Boot 的应用程序属性。