gpt4 book ai didi

如何自定义 Spring Boot 控制台日志

转载 作者:知者 更新时间:2024-03-12 08:30:44 25 4
gpt4 key购买 nike

在本教程中,我们将学习如何通过在 application.properties 文件中设置 logging.pattern.console 属性来自定义 Spring Boot 控制台模式。最简单的方法是将 DefaultLogbackConfiguration 类中指定的默认模式复制并粘贴为 CONSOLE_LOG_PATTERN 常量,然后开始修改它。以下是默认模式:

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}";

logging.pattern.console 属性仅在我们使用 Logback 日志记录实现时才有效。需要指定的模式也遵循此处指定的 Logback 布局规则。

Spring 还提供了一些自定义 logback 的 Converter 实现来自定义输出,例如 Spring 将约定字“%clr”绑定到 ColorConverter,它返回带有 ANSI 颜色代码的输出。 ‘%wEx’ 是另一个转换词,它绑定到返回自定义异常输出的转换器。查看 DefaultLogbackConfiguration.base() 以了解 Spring 是如何做到的。

示例自定义控制台模式

以下是自定义控制台模式:

src/main/resources/application.properties
spring.main.banner-mode=off  spring.output.ansi.enabled=ALWAYS logging.pattern.console=%clr(%d{yy-MM-dd E HH:mm:ss.SSS}){blue} %clr(%-5p) %clr(${PID}){faint} %clr(---){faint} %clr([%8.15t]){cyan} %clr(%-40.40logger{0}){blue} %clr(:){red} %clr(%m){faint}%n

Spring Boot 还将不同的日志级别映射到此处指定的不同 ANSI 颜色代码;仅当我们不使用 %p 指定我们自己的 %clr 转换词值时才有效,例如 %clr(%5p){green}。

Main Class

@SpringBootApplication public class DemoClass {
  private static final Logger logger = LoggerFactory.getLogger(DemoClass.class);
  public static void main(String[] args) throws InterruptedException {
    ConfigurableApplicationContext context = SpringApplication.run(DemoClass.class, args);
    logger.warn("warning msg");
    logger.error("error msg");
  }
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com