【问题标题】:How to configure Karaf org.ops4j.pax.logging.cfg to use a sift appender based on the log4j2 logging category如何配置 Karaf org.ops4j.pax.logging.cfg 以使用基于 log4j2 日志记录类别的 sift appender
【发布时间】:2019-12-09 17:39:48
【问题描述】:

我正在使用 Karaf 和 Camel,并且能够配置 PAX 日志记录以筛选 MDC 字段 (camel.routeId),并且效果很好。

我想知道是否可以将 log4j2 配置为筛选日志记录类别字段(log4j2 转换模式术语中的 %c 或 %logger),或者是否有人可以指出我如何配置它的正确方向.

【问题讨论】:

  • log4j2 在 MDC 数据的基础上进行“筛选”。默认情况下,记录器/类别不是此上下文数据的一部分。但是,您可以自己将记录器名称放入 MDC
  • 嗨@GrzegorzGrzybek,感谢您的评论-它回答了我的问题。如果您将其发布为答案,我将很乐意接受(即使知道解决方案一直盯着我看,我确实觉得有点愚蠢......)。非常感谢!

标签: apache-camel log4j2 apache-karaf


【解决方案1】:

Log4j2 (pax-logging-log4j2) 在 MDC 数据的基础上“筛选”。默认情况下,记录器/类别不是此上下文数据的一部分。但是,您可以自己将记录器名称放入 MDC。

在 pax-logging-log4j2 中,org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl#setDelegateContext() 方法设置了 3 个键:

  • bundle.id
  • bundle.name
  • bundle.version

Camel 在org.apache.camel.impl.MDCUnitOfWork 构造函数中设置自己的键(如context-id)。

【讨论】:

    猜你喜欢
    • 2014-02-04
    • 2019-10-10
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    相关资源
    最近更新 更多