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

时间:2020-08-04 16:25:56

标签: java spring spring-boot logback slf4j

Spring Boot参考文档4.6. Custom Log Configuration声明了默认系统属性,这些默认系统属性表示要在控制台上使用的默认日志记录模式(仅默认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 个答案:

答案 0 :(得分:5)

我刚刚发现此配置在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 左移,然后全文搜索DefaultLogbackConfiguration

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