为基于弹簧的Web应用程序中的每个请求分配一个唯一的ID
我创建了一个基于弹簧的Java Web应用程序,
对于每个请求,将创建一个“控制器类”实例来处理该请求。
在业务逻辑中,我想使用自动分配给每个请求的唯一 ID 进行一些日志记录,以便我可以跟踪程序的确切操作。
日志可能是这样的(同时2个请求):
[INFO] request #XXX: begin.
[INFO] request #XXX: did step 1
[INFO] request #YYY: begin.
[INFO] request #XXX: did step 2
[INFO] request #YYY: did step 1
[INFO] request #XXX: end.
[INFO] request #YYY: end.
从日志中,我可以意识到:req #XXX:begin-step1-step2-end req #YYY:begin-step1-end
我希望可以在代码的任何地方轻松调用日志记录,因此我不想在每个java函数中添加“requestId”参数,
如果能够以静态方式调用日志记录工具,那就太完美了:
LOG.doLog("did step 1");
任何想法,我该怎么做?谢谢:)