【问题标题】:Spring boot: CONSOLE_LOG_PATTERN_IS_UNDEFINED printed when using the logback-spring.xml from Spring documentationSpring boot:使用 Spring 文档中的 logback-spring.xml 时打印 CONSOLE_LOG_PATTERN_IS_UNDEFINED
【发布时间】:2021-10-16 02:54:42
【问题描述】:

在 Spring Boot documentation 中使用 logback 配置时,将其放入 logback-spring.xml 中,控制台会打印出以下内容:

CONSOLE_LOG_PATTERN_IS_UNDEFINED CONSOLE_LOG_PATTERN_IS_UNDEFINEDCONSOLE_LOG_PATTERN_IS_UNDEFINEDCONSOLE_LOG_PATTERN_IS_UNDEFINEDCONSOLE_LOG_PATTERN_IS_UNDEFINEDCONSOLE_LOG_PATTERN_IS_UNDEFINED....

这就是记录 1 个日志条目时打印的全部内容。所以想象一下这很长的一条线。 logback 配置是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/default.xml"/>
  <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
  <root level="INFO">
    <appender-ref ref="CONSOLE" />
  </root>
  <logger name="org.springframework.web" level="DEBUG"/>
</configuration>

因此阅读了有关此的各种内容,我尝试为链接到spring.console.patternCONSOLE_LOG_PATTERN 添加&lt;springProperty...。那没有用。这就是我认为default.xml 应该做的事情。

那么为什么这个建议的配置不起作用?

【问题讨论】:

    标签: java spring-boot spring-logback


    【解决方案1】:

    经过一番挖掘,我发现这是 spring 文档中的一个简单错字。在此source 中,您可以看到文件名。文件名为defaults.xml,即带有s

    但在文档中,他们将文件包含为default.xml。属性CONSOLE_LOG_PATTERNdefaults.xml 中定义。 Spring找不到它,所以它产生了错误。

    所以解决方案就是添加一个s。将此行更改为

    <include resource="org/springframework/boot/logging/logback/default.xml"/>
    

    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    

    【讨论】:

    • 非常感谢您的出色回答。这就是问题所在!拿你赢得的胜利圈。 :-)
    • 谢谢。你知道如何将它报告给 spring 团队来修复它吗?
    • 您必须注册一个免费帐户,然后您可以在这里提交错误:jira.spring.io/secure/Dashboard.jspa
    猜你喜欢
    • 2019-01-19
    • 2018-11-07
    • 2017-05-08
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 2018-11-29
    • 2019-03-15
    相关资源
    最近更新 更多