码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java Web中日志跟踪的简单实现


    一、前言

    在编码过程中,常常需要写打印日志语句,我们期望的是同一个业务的日志都在一块,在出问题的时候好根据日志来排查问题。而现实是在应用运行中,日志的输出常常来自不同线程,甚至是在不同微服务中,各种日志记录往往彼此穿插,很难串起来。所以往往在日志中手动增加一些关键字,来对接口的调用链路来进行跟踪。但这种手动增加关键字或唯一标识的做法在微服务场景下,很难在上下游应用的开发人员的编码风格形成统一的规范,并且手动编写也很难称得上优雅。

    二、MDC介绍

    MDC​(Mapped Diagnostic Context,映射调试上下文)是 log4j​ 、logback及log4j2​ 提供的一种方便在多线程条件下记录日志的功能。MDC​ 可以看成是一个与当前线程绑定的哈希表,MDC 中包含的内容可以被同一线程中执行的代码所访问。

    MDC中的键值对是可以直接被日志框架所使用(即“打印”)的,只需要配置相应日志pattern。例如pattern如下:

    %d{HH:mm:ss.SSS} [%thread] [%X{TraceId}] %-5level %logger{50} - %msg%n

    代码如下:

    public class MDCTest {
    
        private static final Logger log = LoggerFactory.getLogger(MDCTest.class);
    
        @Test
        void test() {
            MDC.put("TraceId", "123456789");
            log.info("hello {}", "world");
        }
    }

    此时控制台将输出:

    2
  • 相关阅读:
    Qt6开发的网络通信工具(支持TCP和UDP)
    打造人脸磨皮算法新标杆,满足企业多元化需求
    MySQL 权限分配
    使用RestSharp和C#编写程序
    代码随想录-015-剑指Offer206. 反转链表
    【C语言函数调用详解】——传值调用&传址调用
    Fundamentals of Electrostatic Discharge-SUMMARY
    Python打怪升级(4)
    【动态规划刷题 15】最长定差子序列&& 最长的斐波那契子序列的长度
    少儿编程机器人软件的开发技术
  • 原文地址:https://blog.csdn.net/m0_73257876/article/details/126597428
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号