当前位置: 首页 > 知识库问答 >
问题:

访问log4j2.xml文件元素内的MDC键值

洪璞瑜
2023-03-14

我正在尝试在log4j中执行以下操作。xml

<File name="MyFile" fileName="logs/%X{client}]">
    <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
    </PatternLayout>
</File>

我从java代码中设置了如下键:

MDC.put( "client", "Roger" );

我也尝试了${Client}内部的log4j2.xml没有工作。如何在布局元素之外的log4j2.xml中引用MDC键?

我还在properties部分下为键指定了默认值,如下所示:

<Properties>
    <Property name="client">default</Property>
</Properties>

共有2个答案

阮星火
2023-03-14

您希望使用查找,而不是%X模式转换器(仅用于布局)。

在本例中,有一个执行所需操作的内置查找:上下文地图查找。

用法示例:

<File name="MyFile" fileName="logs/$${ctx:client}]">
李辉
2023-03-14

您可以使用Routing RoutingAppender包装文件附件,在Routing RoutingAppender中可以使用MDC分隔文件。

在这里找到示例:使用log4j2(MDC)在不同的文件中写入不同的日志

参考: RoutingAppender

 类似资料:
  • 我想使用新的log4j2-Java日志框架。一切正常,但我从一小时后就尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认包中。 将log4j2.xml文件移动到项目中的任意位置 将log4j2.xml文件命名为log4j.xml 在项目中创建一个文件夹,将log4j2.xml文件放

  • 我正在写一个PHP脚本来获取rss新提要并显示,使用php我设法显示提要的大部分内容, 但仍然坚持访问图像链接。 我的密码在这里 但是图像属性在另一个级别内 xml变量转储的示例部分 我试图通过

  • 我正在尝试访问HTML代码中特定的元素。 定义元素的代码部分如下所示 。 在下面的第二行代码之后,我尝试声明表达式和,它们都返回java.lang.String类型的“oddrow cellcont” 但是,我尝试了下面的代码片段,它不能工作,因为循环中的条件返回false。我还尝试使用和、、、...以所有可能的组合使用if条件。 我肯定被困住了;我需要帮助。

  • 问题内容: 我正在从URL获取天气信息。 我得到的是: 如何访问所需的任何元素? 如果我这样做:我收到错误消息: 字符串索引必须是整数,而不是str。 问题答案: 您从url中获得的是一个json字符串。而且您不能直接用索引解析它。您应该将其转换为dict ,然后可以使用index对其进行解析。 与其使用中间方式将其保存到内存,然后将其读取为,不如直接从文件中加载它:

  • [ ]操作符可以对向量进行读和写,这和apstring访问字符类似。同样和apstring一样,索引从0开始,count[ 0 ]指的是向量中的第0个元素,count[ 1 ]指的是向量中的第1个元素。[ ]操作符可以应用在任何表达式中。 count[0] = 7; count[1] = count[0] * 2; count[2]++; count[3] -= 60; 所有的这些语句都是合法的

  • 使用下面的XML,谁能告诉我在Groovy(Gpath或Xpath)中如何在最左边的元素上执行select,并包含对正确父元素的引用? 用英语编写的select语句是: 查询返回的元素必须包括来自employment_information的person_id_external,以及来自Job_Information的start_date。 到目前为止我已经试过了.... 当输入文件中只有一个人时