当前位置: 首页 > news >正文

Spring实现Logback日志模板设置动态参数

版权说明: 本文由博主keep丶原创,转载请保留此块内容在文首。
原文地址: https://blog.csdn.net/qq_38688267/article/details/144842327

文章目录

    • 背景
    • 设计日志格式
    • 实现
      • 配置动态取值
      • logback-spring.xml
    • 相关博客

背景

  多个单体服务间存在少量交互,需实现简易链路追踪功能如下图。设计链路标识traceId,实现Logback日志模板设置成动态参数输出到日志中。
在这里插入图片描述

设计日志格式

  如下图,在日志输出中增加traceId列,且该列值如线程值一样动态改变。
在这里插入图片描述

实现

配置动态取值

  • 配置动态参数获取类

import ch.qos.logback.core.PropertyDefinerBase;/*** Logback日志动态参数traceId的值获取类* <br/>* 在{@code logback-spring.xml}中使用* @author zeng.zf*/
public class TraceLogConversion extends PropertyDefinerBase {@Overridepublic String getPropertyValue() {return TraceLocalCache.get();}
}
  • 配置映射
    在这里插入图片描述

logback-spring.xml

日志格式化pattern值如下,pattern值中定义了traceId动态参数

%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

至此,即可实现动态参数。

  

相关博客

  • Spring实现输出带动态标签的日志

http://www.mrgr.cn/news/82211.html

相关文章:

  • FPGA、STM32、ESP32、RP2040等5大板卡,结合AI,更突出模拟+数字+控制+算法
  • python 实现贪心算法(Greedy Algorithm)
  • 使用Apache Mahout制作 推荐引擎
  • 深入浅出梯度下降算法:快速抵达函数最小值的方法
  • 【Rust自学】8.2. Vector + Enum的应用
  • Oracle exp和imp命令导出导入dmp文件
  • 19712 数字接龙
  • TTL 传输中过期问题定位
  • FOC控制原理7-源码解析2-系统滴答定时器中断
  • 使用ebooklib制作符合epub3规范的epub文件
  • C++语言编程————C++数据类型
  • 解决virtualbox克隆ubuntu虚拟机之后IP重复的问题
  • java Redisson 实现限流每秒/分钟/小时限制N个
  • 【复刻】ESG表现对企业价值的影响机制研究(2009-2021年)
  • 一、VxLAN 简介
  • 旷视科技Java面试题及参考答案
  • NRF24L01模块通信实验
  • 日期时间选择(设置禁用状态)
  • linux系统安装搭建chrony(ntp)时间同步服务器
  • git使用指南-实践-搭建git私服
  • 数据仓库中的指标体系模型介绍
  • Frontend - 分页(针对 python / Django )
  • 用Python操作字节流中的Excel工作簿
  • SpringCloud源码分析-Ribbon与LoadBalancer
  • python实现自动登录12306抢票 -- selenium
  • Yolo11改进策略:注意力改进|Neck层改进|SCSA,探索空间与通道注意力之间的协同效应|即插即用