【问题标题】:adding the specific flow name in log4j2 when using mule使用 mule 时在 log4j2 中添加特定流名称
【发布时间】:2016-11-22 00:43:27
【问题描述】:

我正在使用 log4j2 设置一个 SMTP 附加程序以在 mule 中使用,我想在电子邮件中包含错误来自的流的名称。

这可能吗?

【问题讨论】:

    标签: logging mule esb log4j2 anypoint-studio


    【解决方案1】:

    我相信 SMTP Appender 的默认布局是 HTML Layout。此布局具有标题属性。您可以尝试在标题属性中嵌入ThreadContext map lookup。例如,title="$${ctx:flow}"

    在 PatternLayout 中,您可以通过在模式中嵌入%X{flow} 来实现相同的目的。

    在您的 Java 代码中,您可以调用 ThreadContext.put("flow", "someValue"); 并且在该线程中的所有后续登录都将具有“流”的值。

    【讨论】:

    • 我们正在使用 smtp appender 的模式布局,我们没有 java 代码,我们有 mule 流和 log4j2.xml
    • 为 PatternLayout 更新。不确定 Mule 是如何工作的,但需要在 ThreadContext 中设置键值对。 Mule 会不允许你运行自定义逻辑吗?
    【解决方案2】:

    MEL 表达式#[flow.name] 将为您提供当前流的名称。这可以直接使用,也可以在解析模板中使用来构建您的消息正文。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2020-09-06
      • 1970-01-01
      • 2022-11-28
      相关资源
      最近更新 更多