在 log4j2 中从 ThreadContext 设置和获取值
Posted
技术标签:
【中文标题】在 log4j2 中从 ThreadContext 设置和获取值【英文标题】:Setting & Getting Values from ThreadContext in log4j2 【发布时间】:2013-05-17 09:06:07 【问题描述】:我在我的网络应用程序中使用 log4j-api-2.0-beta4.jar 和 sl4j。 我正在尝试将一些值插入 ThreadContext。
ThreadContext.put("user",userName); ThreadContext.put("thread",thread);
ThreadContext.put("url",url);
我为获取 ThreadContext 所做的只是导入类。
在课程结束时,我正在做以下事情:
ThreadContext.clear();
我在 log4j2.xml 中使用的模式布局是:
<RollingFile name="Default" fileName="$logDir/$filePrefix.log"
filePattern="$logDir/$filePrefix/$filePrefix.log.gz">
<PatternLayout pattern="%d %-5p [%t] %37c %Xuser %x %m%n"/>
<Policies>`enter code here`
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
</RollingFile>
作为 %Xuser 的一部分,我没有得到任何价值,%x 给了我 []。 我需要在我的日志文件中获取这些值。 请帮忙!!!
【问题讨论】:
【参考方案1】:好的。我自己想通了。
这是因为流程根本没有到达那部分代码;)。
对不起,麻烦各位了,不过还是谢谢。
【讨论】:
以上是关于在 log4j2 中从 ThreadContext 设置和获取值的主要内容,如果未能解决你的问题,请参考以下文章
即使在使用 Vert.x 和 Log4j2 将“isThreadContextMapInheritable”设置为 true 后也没有获取 ThreadContext 值
log4j2 isThreadContextMapInheritable 属性用法