Spring實現(xiàn)Logback日志模板設(shè)置動態(tài)參數(shù)功能
版權(quán)說明: 本文由博主keep丶原創(chuàng),轉(zhuǎn)載請保留此塊內(nèi)容在文首。
原文地址: https://blog.csdn.net/qq_38688267/article/details/144842327
背景
多個單體服務(wù)間存在少量交互,需實現(xiàn)簡易鏈路追蹤功能如下圖。設(shè)計鏈路標識traceId,實現(xiàn)Logback日志模板設(shè)置成動態(tài)參數(shù)輸出到日志中。

設(shè)計日志格式
如下圖,在日志輸出中增加traceId列,且該列值如線程值一樣動態(tài)改變。

實現(xiàn)
配置動態(tài)取值
配置動態(tài)參數(shù)獲取類
import ch.qos.logback.core.PropertyDefinerBase;
/**
* Logback日志動態(tài)參數(shù)traceId的值獲取類
* <br/>
* 在{@code logback-spring.xml}中使用
* @author zeng.zf
*/
public class TraceLogConversion extends PropertyDefinerBase {
@Override
public String getPropertyValue() {
return TraceLocalCache.get();
}
}配置映射

logback-spring.xml
日志格式化pattern值如下,pattern值中定義了
traceId動態(tài)參數(shù)
%green(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}})|%highlight(${LOG_LEVEL_PATTERN:-%5p})|%t|%magenta(%X{traceId})|%cyan(%logger{100}.%M\\(%L\\)):%m%n至此,即可實現(xiàn)動態(tài)參數(shù)。
相關(guān)資料
Spring實現(xiàn)通過工具類統(tǒng)一輸出日志(不改變?nèi)罩绢愋畔?
到此這篇關(guān)于Spring實現(xiàn)Logback日志模板設(shè)置動態(tài)參數(shù)的文章就介紹到這了,更多相關(guān)Spring Logback動態(tài)參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot整合日志功能(slf4j+logback)詳解(最新推薦)
- 如何使用@Slf4j和logback-spring.xml搭建日志框架
- Springboot Logback日志多文件輸出方式(按日期和大小分割)
- Springboot MDC+logback實現(xiàn)日志追蹤的方法
- SpringBoot啟動時如何通過啟動參數(shù)指定logback的位置
- SpringBoot項目中使用@Scheduled讀取動態(tài)參數(shù)
- spring mvc中的@PathVariable動態(tài)參數(shù)詳解
- spring mvc中的@PathVariable獲得請求url中的動態(tài)參數(shù)
- 關(guān)于Spring?Cloud實現(xiàn)日志管理模塊
相關(guān)文章
SpringBoot集成Druid配置(yaml版本配置文件)詳解
這篇文章主要介紹了SpringBoot集成Druid配置(yaml版本配置文件),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
使用JAVA獲取nacos配置信息出現(xiàn)null,獲取不到的解決
文章討論了在使用Java獲取Nacos配置信息時遇到的問題,特別是調(diào)用ConfigService獲取配置時出現(xiàn)null的情況,作者嘗試了多種解決方法,最終發(fā)現(xiàn)更換jar包版本(1.*)解決了問題,作者分享了個人經(jīng)驗,希望能對大家有所幫助2025-12-12
IntelliJ?IDEA中初始化Java類的常用快捷方法詳解
這篇文章主要為大家詳細介紹了IntelliJ?IDEA中初始化Java類并設(shè)置所有屬性的常用快捷方法,文中的示例代碼講解詳細,需要的小伙伴可以參考下2026-02-02

