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

2022-09-03 06:18:42

弹簧靴参考文档 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版本的默认值?


答案 1

我刚刚发现此配置在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 ShiftDefaultLogbackConfiguration

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


答案 2

如果您使用的是 ,则将以下内容添加到 xml 中将自动选取 spring 对控制台追加器的默认 logback 配置。logback-spring.xml

<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


推荐