文章预览
微服务项目学习: cloud.macrozheng.com 作者:五阳 链接: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+ 注解 自动将第二步的用户信息放到线程上下文 这或许是一个对你有用的开源项目 ,mall项目是一套基
………………………………