LOG4J2-MDC-全链路跟踪等功能研究
MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 、logback及log4j2 提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的哈希表,内部是基于threadLocal实现,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当开启isThreadContextMapInheritable属性后,当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,日志框架会自动从 MDC中获取所需的信息,MDC 的内容需要由程序在适当的时候保存进去。
MDC能满足如下需求:
- 在做日志链路跟踪时,如何在多线程之间进行上下文传递
- 生产环境中,如何让某个玩家ID或者ID列表打印出DEBUG日志,其他玩家还是INFO
- 生产环境中,如何让某个玩家ID或者ID列表的日志打印到独立的文件
背景:
项目中使用log4j2作为日志系统,然而在高并发的情况下,多个玩家的请求的日志链路参杂在一起,要跟踪某个用户一次的请求操作所有日志是很麻烦的,要根据不同玩家打印不同级别的根本就是做不到的。
log4j2 的MDC ThreadContext 和CloseableThreadContext 就提供了相关功能,
API说明:
clear()
LOG4J2-MDC-全链路跟踪等功能研究相关推荐
- 网易云音乐全链路跟踪系统实践
昨天的分享会,听我们公司技术大佬分享.收获超多! 经过大佬允许后上传,除了大佬的独家干货,还有我自己的小见解. 欢迎一起讨论~~ 本文全面讲述了云音乐全链路跟踪系统的设计思想,实践路线,以及在技术选择 ...
- 全链路跟踪之线程上下文Thread Local实战(完整源码)
写在开头: 我是「猿码天地」,一个热爱技术.热爱编程的IT猿.技术是开源的,知识是共享的! 写博客是对自己学习的总结和记录,如果您对Java.分布式.微服务.中间件.Spring Boot.Sprin ...
- 天机阁——全链路跟踪系统设计与实现
小时光茶社 传说中天机阁里有一台掌控世间一切的机器,万物运行由此产生.本文的"天机阁"是一个基于链路跟踪的监控系统,后台开发人员能够通过"天机阁"洞察" ...
- 【转载】天机阁——全链路跟踪系统设计与实现
转载自:天机阁--全链路跟踪系统设计与实现 传说中天机阁里有一台掌控世间一切的机器,万物运行由此产生.本文的"天机阁"是一个基于链路跟踪的监控系统,后台开发人员能够通过" ...
- 全链路跟踪系统设计与实践(转载)
转自:沪江全链路跟踪系统设计与实践 转自:#研发解决方案介绍#Tracing(鹰眼) 转自:zipkin 转自:分布式系统调用跟踪实践 转自:jim-framework 转自:Brave接入ZipKi ...
- 微服务全链路跟踪:jaeger集成istio,并兼容uber-trace-id与b3
微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容u ...
- 全链路灰度新功能:MSE上线配置标签推送
为什么需要配置标签推送 从全链路灰度谈起 在微服务场景中,应用的灰度发布迎来了新的挑战.不同于单体架构中将应用整体打包即可发布测试版本,微服务应用往往由多个服务组合而成.这些服务通常由不同的团队负责, ...
- 分布式全链路跟踪系统-skywalking
什么是链路追踪 本节视频 [视频]Spring Cloud Alibaba-SkyWalking-分布式链路追踪 微服务架构是通过业务来划分服务的,使用 REST 调用.对外暴露的一个接口,可能需要很 ...
- 基于Spring Aop及log4j2的MDC实现全链路调用跟踪(traceid)
环境: Springboot:2.2.3.RELEASE Spring-boot-starter-log4j2: 2.2.2.RELEASE jdk:1.8 目标: 实现Springboot框架下的全 ...
最新文章
- 牛客 2018年长沙理工大学第十三届程序设计竞赛 G-逃离迷宫
- C# 调用Excel 出现服务器出现意外情况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)
- obs 推流编码在哪设置_OBS录屏软件
- php属于脚本,php是脚本语言吗
- 浅谈计算机程序设计语言,探讨计算机程序设计语言教学
- 简单的libevent例子
- python爬人人贷代码视频_利用python爬取人人贷网的数据
- l298n电机哪一端为正_L298N是如何控制直流电机正反转的
- linux会计软件,免费好用的会计软件(Manager for Mac)
- 细数阿里 25 个开源的前端项目,让你的 2021 路更加平坦
- 时间复杂度与空间复杂度-o(1)、o(n)、o(logn)、o(nlogn)、斐波那契
- ubuntu20.04 常用开发工具整理
- Android 图片文件读取
- 嵌入式调试神器-虚拟示波器之JScope
- teamviewer 黑屏 linux,Teamviewer 在 Linux 下无法启动?
- 图割论文阅读笔记:“GrabCut” — Interactive Foreground Extraction using Iterated Graph Cuts
- 软件测试职业发展规划
- Spring 5 + Spring MVC 5 + MyBatis 3 的 Maven 项目集成
- 抖音短视频KOL推广真的有效果吗?
- MATLAB自编自适应中值滤波算法