在本教程中,我们将学习如何通过在 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 是如何做到的。
以下是自定义控制台模式:
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}。
@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");
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : http://www.masterspringboot.com/configuration/logging/how-to-customize-spring-boot-console-logs
内容来源于网络,如有侵权,请联系作者删除!