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

 更新时间:2025年01月10日 14:51:33   作者:keep丶  
本文介绍如何在Spring应用中实现Logback日志模板的动态参数设置,通过设计traceId链路标识,将其动态添加到日志输出中,从而实现简易的链路追踪功能,感兴趣的朋友跟随小编一起看看吧

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

背景

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

设计日志格式

  如下图,在日志输出中增加traceId列,且该列值如线程值一样动态改变。

实现

配置动态取值

配置动态参数获取类

import ch.qos.logback.core.PropertyDefinerBase;
/**
 * Logback日志动态参数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动态参数

%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实现输出带动态标签的日志

Spring实现通过工具类统一输出日志(不改变日志类信息)

到此这篇关于Spring实现Logback日志模板设置动态参数的文章就介绍到这了,更多相关Spring Logback动态参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot集成Druid配置(yaml版本配置文件)详解

    SpringBoot集成Druid配置(yaml版本配置文件)详解

    这篇文章主要介绍了SpringBoot集成Druid配置(yaml版本配置文件),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 详解Java冒泡排序

    详解Java冒泡排序

    本篇文章通过代码实例给大家详细分析了Java冒泡排序的原理,有兴趣的朋友可以学习下。
    2018-02-02
  • Java 多线程之两步掌握

    Java 多线程之两步掌握

    Java 多线程编程 Java给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务
    2021-10-10
  • Java语言实现二叉堆的打印代码分享

    Java语言实现二叉堆的打印代码分享

    这篇文章主要介绍了Java语言实现二叉堆的打印代码分享,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • 使用JAVA获取nacos配置信息出现null,获取不到的解决

    使用JAVA获取nacos配置信息出现null,获取不到的解决

    文章讨论了在使用Java获取Nacos配置信息时遇到的问题,特别是调用ConfigService获取配置时出现null的情况,作者尝试了多种解决方法,最终发现更换jar包版本(1.*)解决了问题,作者分享了个人经验,希望能对大家有所帮助
    2025-12-12
  • 学习spring事务与消息队列

    学习spring事务与消息队列

    这篇文章主要为大家详细介绍了spring事务与消息队列,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • IntelliJ IDEA中初始化Java类的常用快捷方法详解

    IntelliJ IDEA中初始化Java类的常用快捷方法详解

    这篇文章主要为大家详细介绍了IntelliJ IDEA中初始化Java类并设置所有属性的常用快捷方法,文中的示例代码讲解详细,需要的小伙伴可以参考下
    2026-02-02
  • Java实现浏览器端大文件分片上传

    Java实现浏览器端大文件分片上传

    本文主要介绍了Java实现浏览器端大文件分片上传,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 深入了解Java中的类加载机制

    深入了解Java中的类加载机制

    通常,在关于Java的类加载部分会遇到以上疑问,本文将对类加载重要部分做详细介绍,包括重要的基础概念和应用场景,在编写过程中也帮助作者重新熟悉并加固了知识点,希望在看完后对大家能有所帮助
    2022-11-11
  • SpringBoot详细讲解日志文件

    SpringBoot详细讲解日志文件

    Spring Boot默认使用SLF4J+Logback 记录日志,并提供了默认配置,即使我们不进行任何额外配,也可以使用SLF4J+Logback进行日志输出
    2022-06-06

最新评论