我被困在跟踪请求上。获取组件名称和时间很容易(使用面向方面的编程)但我没有请求的ID(requestID)
我需要这样的日志:
RequestID 组件名称 时间
- Add547 C4 5s
- 搜索547 C1 5s
- 搜索778 C1 2s
- Add547 C1 15s
- 搜索778 C4 20s
- 搜索547 C5 10s
- 搜索547 C3 2s
- 搜索547 C2 1s
- 搜索778 C2 12s
- 搜索547 C6 55s
- 搜索778 C6 1s
- Add547 C2 6s
- Add547 C3 46s
为了轻松接收这样的文件,这正是我正在寻找的:
RequestID 组件名称 时间
- 搜索547 C1 5s
- 搜索547 C5 10s
- 搜索547 C3 2s
- 搜索547 C2 1s
- 搜索547 C6 55s
RequestID 组件名称 时间
- 搜索778 C1 2s
- 搜索778 C4 20s
- 搜索778 C2 12s
- 搜索778 C6 1s
RequestID 组件名称 时间
- Add547 C4 5s
- Add547 C1 15s
- Add547 C2 6s
- Add547 C3 46s
我所有的研究都引导我将 log4j 与 MDC 和 SiftingAppender 一起使用,但我不确定它是否可以在整个请求中提供唯一 ID,因为它经过了很多类、子系统和线程。
你能告诉我是否可以在不改变原始系统的情况下完成?(它应该是一个外部组件)。你知道有什么教程可以说明如何做到这一点吗?