问题标签 [threadcontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - java.lang.NoSuchMethodError: org.apache.logging.log4j.ThreadContext.getThreadContextMap()
我有一个带有 log4j 2.9.1 的 spring mvc 应用程序。它曾经工作得很好,但突然间,我明白了
每当创建记录器时似乎都会发生
以下行:
输出
在我的工作区中的其他应用程序之一中使用 ThreadContext 后,我开始收到此错误,但我在此 Web 应用程序中没有任何行引用此错误。
我已经浏览了对这个问题的所有现有回复,如果构建路径上存在版本 2.7 的 log4j-api jar,似乎会引发此错误,但我似乎没有该 jar 在依赖项中。
java - Log4j2 迁移 - 如何在每个 LoggingEvent / LogEvent 中将用户名参数传递给 appender
我需要在每个 LoggingEvent(或 log4j2 中的 LogEvent)中为我的 ConsoleAppender 获取用户名参数。
迁移到 log4j2 时,如何在 log4j 中重新创建更改 CustomConsoleAppender 的 doAppend 方法的实现:
然后使用模式在相应附加程序的 PatternLayout 中的 log4j2.properties 中检索该值:%X{userId}
java - 如果在 Runnable 中使用 ThreadContext.put(),是否还需要删除执行后添加的元素?
我正在尝试设置log4j
在所有日志消息中打印某些值。我正在阅读,如果您通过ThreadContext.put()
(在这种情况下为 traceId)在一个类中添加一个值,然后使用执行程序服务来启动Runnable
我也需要将 traceId 添加到可运行对象ThreadContext
中(除非我将某些配置修改为自动这样做,我还没有研究过)。
我的问题是,当它Runnable
终止时,ThreadContext
它是使用被破坏的,还是我需要在处理它之前手动删除我添加的值?