大家都知道,日志是同步输出出来的。输出日志非常影响主线程执行效率。
多线程打印日志会出现日志混乱的情况,一页日志可能包含了N个请求信息,影响问题排查效率。
在这个背景下。本人想到把线程日志利用ThreadLocal保存起来。等到出filter的时候再一次性打印。可以保证日志成段输出,使每个请求的日志相互独立。
里面考虑到线程卡住不出Filter的情况,会有一个监控线程查看超时日志,并输出出来
代码地址:https://gitee.com/jan_one/codes/f8uwxlphk16inm9qzg7vj50