当前位置: 首页 > 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

相关文章:

  • NOTEPAD++编写abap
  • 腾讯云开发提供免费GPU服务
  • RabbitMQ1-消息队列
  • ubuntu20.04有亮度调节条但是调节时亮度不变
  • 基于SSM汽车美容管家【提供源码+答辩PPT+文档+项目部署】(高质量源码,可定制,提供文档,免费部署到本地)
  • 【西藏乡镇界面】图层arcgis格式shp数据有乡镇名称和编码2020年wgs84坐标内容测评
  • 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,探索空间与通道注意力之间的协同效应|即插即用