用于 Spring Boot 日志记录的默认 CONSOLE_LOG_PATTERN 是什么以及在哪里可以找到它?

问题描述 投票:0回答:2

Spring Boot 参考文档 4.6。自定义日志配置 说明默认系统属性,表示在控制台上使用的默认日志记录模式(仅支持默认 Logback 设置)。

  • 春季环境:
    logging.pattern.console
  • 系统属性:
    CONSOLE_LOG_PATTERN

我想所有 Spring Boot 框架用户都会熟悉默认日志行的外观:

2020-08-04 12:00:00.000  INFO 24568 --- [           main] c.c.MyWonderfulSpringApplication          : The following profiles are active: local

只要我想看看它的外观并获得定义自己的灵感,我在哪里可以找到当前使用的 Spring Boot 版本的默认值?

java spring spring-boot logback slf4j
2个回答
30
投票

我刚刚发现这个配置可以在 Spring Boot 项目下的

DefaultLogbackConfiguration
文件中找到:

private static final String CONSOLE_LOG_PATTERN = "%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} "
            + "%clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} "
            + "%clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} "
            + "%clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}";

要查找某个 Spring Boot 版本的模式,可以:

  • 浏览 GitHub 上提供的源文件:Spring Boot 2.3.x
  • 在 IntelliJ Idea 中按 2x Left Shift 并在
    Classes
    选项卡中搜索
    DefaultLogbackConfiguration

我的发现来源是https://www.logicbig.com/tutorials/spring-framework/spring-boot/logging-console-pattern.html


编辑: 默认 Logback 控制台记录器配置(例如将记录器设置为

DEBUG
级别)可以按如下方式覆盖:

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

10
投票

如果您使用

logback-spring.xml
,那么将以下内容添加到您的 xml 中将自动获取 spring 的控制台附加程序的默认 logback 配置。

<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<root level="INFO">
    <appender-ref ref="CONSOLE" />
</root>

参考:https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/howto.html#howto-configure-logback-for-logging

© www.soinside.com 2019 - 2024. All rights reserved.