用户工具

站点工具


分享:技术:log4j:实现log4j打日志带uuid

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
分享:技术:log4j:实现log4j打日志带uuid [2016/12/24 09:50]
gxx
分享:技术:log4j:实现log4j打日志带uuid [2016/12/24 11:12] (当前版本)
gxx
行 1: 行 1:
 ====== 实现log4j打日志带uuid(同一个请求线程同一个uuid) ====== ====== 实现log4j打日志带uuid(同一个请求线程同一个uuid) ======
 ===== 实现思路 ===== ===== 实现思路 =====
 +  - [目标前提]:尽量不改变原有的写法Logger logger = Logger.getLogger(A.class);​
   - 新建Logger子类BaseUuidLogger,重写debug,info等方法;在ThreadLocal中获取同一个uuid;打印日志前带上这个uuid   - 新建Logger子类BaseUuidLogger,重写debug,info等方法;在ThreadLocal中获取同一个uuid;打印日志前带上这个uuid
   - spring能管理到的类(@controller,​@service),使用aop切面,扫描Logger变量强制设置成BaseUuidLogger   - spring能管理到的类(@controller,​@service),使用aop切面,扫描Logger变量强制设置成BaseUuidLogger
行 527: 行 528:
 </​code>​ </​code>​
 ===== [待探讨方式2]修改Log4j源码 ===== ===== [待探讨方式2]修改Log4j源码 =====
-拿出Log4j源码,修改debug,info等方法(或者修改这些方法统一调后面的某个方法),在打印信息之前带上uuid(在ThreadLocal中获取同一个uuid)。重新编译,放到src/​main/​java/​Logger对应的包路径下。+拿出Log4j源码,修改debug,info等方法(或者修改这些方法统一调后面的某个方法),在打印信息之前带上uuid(在ThreadLocal中获取同一个uuid)。重新编译,放到src/​main/​java/​目录下Logger对应的包路径下。
 ==== 用法 ==== ==== 用法 ====
 和原始的Logger对象用法一样 和原始的Logger对象用法一样
分享/技术/log4j/实现log4j打日志带uuid.1482544234.txt.gz · 最后更改: 2016/12/24 09:50 由 gxx