Atiitt 日志技术的重大问题解决法 目录 1.1. 只想看某些日志,使用tag过滤法 1 1.2. 能方便清晰的列出某一业务(如支付)的完整的处理流程 业务tag 1 1.3. - NDC(N

本文深入探讨日志技术的关键方面,包括日志的作用、常见概念、动态切换方法以及ELK Stack的大数据搜索与可视化方案。重点讲解了NDC和MDC在日志上下文中的高效应用,提供日志聚合与分析的实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Atiitt 日志技术的重大问题解决法

 

 

目录

1.1. 只想看某些日志,使用tag过滤法 1

1.2. 能方便清晰的列出某一业务(如支付)的完整的处理流程 业务tag 1

1.3. - NDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(context infomation) 1

1.4. ,记录参数)MDC  NDC和MDC 3    MDC(Mapped Diagnostic Context,映射调试上下文) 1

 

 

    1. 只想看某些日志,使用tag过滤法

使用不同的append太麻烦了。。使用tag法比较简单。

 

 

    1. 能方便清晰的列出某一业务(如支付)的完整的处理流程 业务tag

在现实的场景中经常有这样的需求,在纷繁的日志文件中,通过搜索某一个关键字(如订单号),能方便清晰的列出某一业务(如支付)的完整的处理流程。

一个笨办法是在每个日志中加上该关键字,如下所示:

logger.info("[{}] entering pay",orderId);logger.info("[{}] check whether order is repeated ",orderId);logger.info("[{}] save order to db",orderId);logger.error("[{}]", orderIde);

......

    1. NDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(context infomation)
    2. ,记录参数)MDC  NDC和MDC 3    MDC(Mapped Diagnostic Context,映射调试上下文)

有没有更方便的方法满足这一业务要求呢? 而不用这么麻烦要在每个日志中都要显式加上tag,所幸log4j自身就提供了这么一个方便易用的工具类--NDC。

只要在入口方法中设置tag,离开方法前remove即可。见如下示例代码:

protected static final Logger logger = LoggerFactory

            .getLogger(NDCDemo.class);

    void test1(long orderId)//入口方法

        NDC.push("["+orderId+"]"); //进入方法设置tag

        logger.info("entering test1"); //正常记录日志 无需显式添加tag

        test2();

        test3();

        test6();

        NDC.remove(); //离开方法删除tag

    }

 

 

另外除了NDC外还有一个工具类--MDC–也适用于这一场景,使用方式和NDC差不多,仍沿用上述示例,仅需部分改动:

void test1(int orderId){

        MDC.put("orderId""["+orderId+"]"); // NDC.push --> MDC.put(key , value)

        logger.info("entering test1");

        test2();

        test3();

        test6();

        MDC.remove("orderId"); //NDC.remove --> MDC.remove(key)

    }

 

 

Atitit 日志技术  cdc 变更数据捕获(Change Data Capture

 

 

    1. atitit log art 日志之道 v2 sbb.docx

log日志技术知识点.docx   .log日志技术的最佳实践attilax总结

 

1. 日志的意义与作用 1

1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具 1

2. 俩种实现  [1]日志系统作为一种服务进程存在   [2]日志系统作为系统调用存在 2

3. 日志常见概念 2

3.1. 输出目的地Appender  :console,文件,数据库 。。。 2

3.2. 日志级别level:DEBUG,INFO,WARN,ERROR,FATAL; 3

3.3. Layout布局 3

3.4. 上下文(手动或者aop模式,记录参数)MDC  NDC和MDC 3

3.5. 二:日志聚合与分析(摘自:http: 4

4. 日志格式规范 4

4.1. 输出地点:日志,console,db 5

5. 动态切换日志 5

6. 大数据搜索与日志挖掘及可视化方案——ELK Stack:Elasticsearch、Logstash、Kibana (第2版) 5

6.1. Web用户查询日志挖掘与应用_百度百科.html 5

7. 参考资料 6

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值