专栏名称: 码小辫
给程序员和编程爱好者分享计算机编程电子书以及相关的学习资源
今天看啥  ›  专栏  ›  码小辫

公司使用了两年的高效日志打印工具,非常牛逼!

码小辫  · 公众号  ·  · 2024-09-15 17:10

文章预览

原文:juejin.cn/post/7407275971902357558 为了更方便地排查问题,电商交易系统的日志中需要记录用户id和订单id等字段。然而,每次打印日志都需要手动设置用户id,这一过程非常繁琐,需要想个办法优化下。 log.warn( "user:{}, orderId:{} 订单提单成功" ,userId, orderId); log.warn( "user:{}, orderId:{} 订单支付成功" ,userId, orderId); log.warn( "user:{}, orderId:{} 订单收到履约请求" ,userId, orderId); log.warn( "user:{}, orderId:{} 订单履约成功" ,userId, orderId); 1、目标 打印日志时,自动填充用户id和订单Id等通参,无需手动指定 2、实现思路 日志模板中声明占位符 userId , orderId 在业务入口将 userId 放入到线程 ThreadLocal 本地变量中。 使用 SpringAop + 注解 自动将第二步的用户信息放到线程上下文 3、配置日志变量,读取上下文变量 %X{}可以自定义占位符,例如本例中 使用 userId:%X{userId} or ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览