Spring Boot 3.4日志控制台模式如何更简洁添加CorrelationId?
Spring Boot 3.4日志追踪ID的简洁配置方案
在Spring Boot 3.4中,确实有更简洁的方式实现日志中自动包含trace/spanId,无需显式引用logging.pattern.correlation配置项,同时也提供了类似%thread的Correlation相关日志占位符:
1. 使用%correlation预定义占位符
Spring Boot内置了%correlation日志格式占位符,它会自动关联logging.pattern.correlation的配置内容(如果未自定义,默认格式为[${spring.application.name:},%X{traceId:-},%X{spanId:-}])。你可以直接在日志pattern中使用这个占位符,替代原来的配置变量引用:
logging: pattern: # 可选:自定义correlation格式,不设置则用默认值 # correlation: "[${spring.application.name:},%X{traceId:-},%X{spanId:-}]" file: "%d [%thread] %correlation %-5level %-50logger{40} - %n" console: "%d [%thread] %correlation %-5level %-50logger{40} %n"
2. 直接使用%traceId和%spanId单独占位符
如果你不需要统一维护correlation格式,也可以直接用Spring Boot提供的%traceId和%spanId占位符,这两个和%thread一样是直接可用的日志格式标记,无需额外配置:
logging: pattern: file: "%d [%thread] [${spring.application.name:},%traceId:-,%spanId:-] %-5level %-50logger{40} - %n" console: "%d [%thread] [${spring.application.name:},%traceId:-,%spanId:-] %-5level %-50logger{40} %n"
这两种方式都能避免显式引用logging.pattern.correlation配置,让日志配置更简洁直观。
内容的提问来源于stack exchange,提问作者gstackoverflow
相关产品推荐
相关产品推荐

