在flink日志里,怎么加上ndc或mdc日志啊?

在flink日志里,怎么加上ndc或mdc日志啊?加ndc的话,应该在哪里push,在哪pop,在哪个方法里remove呢,想找个范例,百度没有

展开
收起
wenti 2023-02-06 16:41:23 357 分享 版权
2 条回答
写回答
取消 提交回答
  • 在 Flink 日志中添加 NDC(嵌套诊断上下文)或 MDC(映射诊断上下文)日志:

    添加 NDC 日志:

    • push():在要添加 NDC 日志标记的代码块之前调用 NDC.push() 方法。
    • pop():在代码块结束后调用 NDC.pop() 方法以移除 NDC 标记。
    • remove():使用 NDC.remove() 方法从所有线程中移除所有 NDC 标记。

    添加 MDC 日志:

    • put():使用 MDC.put(String key, String value) 方法添加 MDC 日志键值对。
    • get():使用 MDC.get(String key) 方法获取 MDC 日志值。
    • remove():使用 MDC.remove(String key) 方法移除特定的 MDC 日志键值对。
    • clear():使用 MDC.clear() 方法移除所有 MDC 日志键值对。

    范例:

    import org.apache.log4j.Logger;
    import org.apache.log4j.MDC;
    import org.apache.log4j.NDC;
    
    public class NdcMdcLoggingExample {
    
        private static final Logger LOGGER = Logger.getLogger(NdcMdcLoggingExample.class);
    
        public static void main(String[] args) {
            // Push an NDC marker
            NDC.push("MyNDCMarker");
    
            // Put an MDC key-value pair
            MDC.put("MyMDCKey", "MyMDCValue");
    
            // Log a message with NDC and MDC
            LOGGER.info("NDC: " + NDC.peek() + ", MDC: " + MDC.get("MyMDCKey"));
    
            // Pop the NDC marker
            NDC.pop();
    
            // Remove the MDC key-value pair
            MDC.remove("MyMDCKey");
        }
    }
    

    注意:

    • NDC 和 MDC 日志标记仅在当前线程内有效。
    • MDC 键值对在所有线程之间共享。
    • 建议在日志语句附近使用 NDC 和 MDC 日志标记,以确保正确的日志关联。
    2024-02-27 17:17:44
    赞同 展开评论
  • GitHub https://github.com/co63oc/cloud

    Flink日志 https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/deployment/advanced/logging/ NDC是什么 https://cloud.tencent.com/developer/article/1631705

    2023-02-11 16:39:46
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理