基于Slf4j的MDC实现日志链路串联
基于Slf4j的MDC實現日志鏈路串聯
一、問題背景
為了方便運維日常定位排查問題時,使用traceId查詢日志時可以完整的查看當前業(yè)務請求的完整日志鏈路 ,需使用traceId(日志跟蹤號)將日志串聯起來。
系統(tǒng)采用LogBack日志組件,在輸出日志時輸出_traceId日志跟蹤號 ,logback.xml配置如下 :
../log/${ ServerName}/${ AppName}.log ../log/${ ServerName}/${ AppName}.log.%d{ yyyy-MM-dd} 7 %d{ HH:mm:ss.SSS} %-5level [%.15thread][%X{ _traceId}] %logger{ 36} - %.-4096msg%n 公司系統(tǒng)采用分布式架構,從接收到請求到業(yè)務處理完成并返回,涉及SpringMVC入口 、服務間dubbo調用 、基于RocketMQ實現的業(yè)務解耦