log4j 同一线程隔离classloader下MDC信息不同问题解决 ThreadLocal问题分析

embedded/2024/9/25 23:25:00/

最近遇到日志文件记录错误的问题。一个任务的日志信息会被莫名的拆分到两个不同目录中。且有一个目录还是曾经执行过的任务的目录。经过分析,首先怀疑的是MDC没有清理的问题,这也是最直观的问题。因为任务是在线程池(fixedThreadPool)中运行的。由于线程会被重用,而MDC是绑定在Threadlocal上的,所以如果没有清理,是会造成上述问题。但是在代码检查中发现在线程的开始,是重新设置过MDC信息的。所以,怀疑的对象转移到了多classloader上。由于不能肯定,所以进行测试如下:

全文详见个人独立博客:https://www.coderli.com/log4j-mdc-classloader-problem/

log4j 同一线程隔离classloader下MDC信息不同问题解决 ThreadLocal问题分析 | OneCoder 最近遇到日志文件记录错误的问题。一个任务的日志信息会被莫名的拆分到两个不同目录中。且有一个目录还是曾经执行过的任务的目录。经过分析,首先怀疑的是MDC没有清理的问题,这也是最直观的问题。因为任务是在线程池(fixedThreadPool)中运行的。由于线程会被重用,而MDC是绑定在Threadlocal上的,所以如果没有清理,是会造成上述问题。但是在代码检查中发现在线程的开始,是重新设置过MDC信息的。所以,怀疑的对象转移到了多classloader上。由于不能肯定,所以进行测试如下:icon-default.png?t=O83Ahttps://www.coderli.com/log4j-mdc-classloader-problem/

加入频道领免费Java学习资料:腾讯频道邀请

加入大佬免费带队Java学习群:Java学习群


http://www.ppmy.cn/embedded/108084.html

相关文章

25版王道数据结构课后习题详细分析 第六章 图 6.4图的应用

一、单项选择题 ———————————————————— ———————————————————— 解析: 当无向连通图存在权值相同的多条边时,最小生成树可能是不唯一的;另外,由于这是一个无向连通图,因此最小生成树必定…

什么是网络准入控制系统?网络准入控制系统七大品牌介绍!

在当今信息化时代,企业网络安全面临着前所未有的挑战。网络准入控制系统(NAC, Network Access Control)作为一种重要的网络安全技术,扮演着守护企业网络安全大门的关键角色。网络准入控制系统通过对接入网络的设备进行身份验证、安…

kafka及异步通知文章上下架

1)自媒体文章上下架 需求分析 2)kafka概述 消息中间件对比 特 性 ActiveMQ RabbitMQ RocketMQ Kafka 开 发 语 言 java erlang java scala 单 机 吞 吐 量 万级 万级 10万级 100万级 时 效 性 ms us ms ms级以内 可 用 性 高(主从&#xff0…

项目实战 ---- 商用落地视频搜索系统(5)---service层核心

目录 背景 向下service 层 描述 功能 代码实现 核心阐述 向上service层 描述 功能 代码实现 核心阐述 背景 之前的 1-4 重点在介绍系统的实现架构,录入数据的组织形式,存储模式,search 方式,以及后期算法等。重点都是聚焦在后端。现在来看,基本的后端实现我们…

git:认识git和基本操作(1)

目录 一、版本控制器 1.安装git 2.创建git本地仓库 3.配置git 二、git操作(1) 1.工作区、暂存区、版本库 2.添加文件 3.查看.git 4.修改文件 一、版本控制器 所谓的版本控制器,就是能让你了解到每一个文件的修改历史。相应的&#x…

ArcGIS Pro SDK (十二)布局 7 组元素

ArcGIS Pro SDK (十二)布局 7 组元素 文章目录 ArcGIS Pro SDK (十二)布局 7 组元素1 创建空组元素2 创建包含元素的组元素环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 1 创建空组元素 //在内容窗格的根级别创建一个空的组元素//在工作线程上创建 await Queue…

【文献及模型、制图分享】基于多尺度融合的旅游生态承载力评估——以江苏省沿海县域为例

文献介绍 正确认识旅游生态承载力是指导区域旅游可持续发展的关键。提出“多尺度融合”评价单元划分方法,引入“载体—载荷”视角创建新的旅游生态承载力评价体系,并以江苏省沿海县域为例,对所建立的评价单元划分和旅游生态承载力评估方法进…

JAVA开源项目 图书个性化推荐系统 计算机毕业设计

本文项目编号 T 015 ,文末自助获取源码 \color{red}{T015,文末自助获取源码} T015,文末自助获取源码 目录 一、系统介绍1.1 业务分析1.2 用例设计1.3 时序设计 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究…