19|日志隔离:如何落地日志隔离?
高楼
你好,我是高楼。
这节课,我们详细来讲讲如何基于微服务技术落地日志隔离。
在全链路压测的隔离中,有一个很重要的部分就是日志隔离,即区分对应的日志。之所以要将正常日志和压测日志都进行隔离,是为了不影响正常日志存储和方便线上问题排查。
在当前的技术市场上,主流的日志框架是 Log4j、Log4j2(Log4j 的升级版)和 Logback。
Logback 是 Log4j 的改良版,拥有更多的特性,性能也更好,天然支持 SLF4J( Simple Logging Facade for Java,日志输出门面,非日志框架)。Slf4j 可以支持不同的日志框架,实现对日志框架的一层抽象,可以整理不同的日志框架的输出。我们这个电商项目也是使用的 Logback 的方式。
在具体的方案选择上,我们选择改写 Logback 的 Appender,然后根据压测标记将日志写入对应目录中。
既然已经选定了 Logback 日志框架做日志隔离改造,那么我们就可以直接上手进行技术预演了。
技术预演
首先我们还是先在本地开发环境做一下日志隔离的技术预演。预演通过之后,再把相关代码移植到 demo 系统中去验证。
在第 14-18 讲,我们已经通过 Sleuth 把压测标记透传到了每个服务中,下面只需要从对应服务的数据上下文获取标记,然后完成逻辑判断就能实现日志的分离了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了如何基于微服务技术落地日志隔离。在全链路压测的隔离中,日志隔离是一个重要部分,旨在区分正常日志和压测日志,以避免影响正常日志存储和方便线上问题排查。主要选择了Logback进行日志隔离改造,通过技术预演,作者介绍了通过MDC实现日志分离的具体步骤,包括创建测试接口、修改配置文件、实现全局过滤类、创建Logback配置文件等。通过JMeter模拟正常流量和压测流量的请求验证,展示了日志分离的效果。整体方案设计清晰,操作步骤详细,适用于读者快速了解如何落地日志隔离的技术特点。文章还介绍了真实系统的改造过程,强调了日志隔离在全链路压测中的重要性,以及MDC+Logback+数据上下文的日志隔离实现逻辑。整体内容深入浅出,对于需要实践的技术人员具有一定的指导意义。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全链路压测实战 30 讲》,新⼈⾸单¥59
《全链路压测实战 30 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- Geek_eabafe老师,麻烦回答一下 每节的小问题呗
作者回复: ?就是要自己回答呀。
2023-08-08归属地:北京
收起评论