Я хотел бы настроить мою настройку ведения журнала таким образом, чтобы входящие запросы были помечены идентификатором (например, UUID), который используется для отслеживания запросов и процессов во всем приложении (например, классы контроллера, классы обслуживания и т. Д.), А также других соответствующихинформация в запросе (т.е. имя хоста, ipaddress ...).
Ссылаясь на документацию по slf4j 2, я вижу упоминание ThreadContext .Для каждого запроса к моему приложению с весенней загрузкой я хотел бы сделать что-то похожее на это:
ThreadContext.put("id", UUID.randomUUID().toString());
ThreadContext.put("ipAddress", this.request.getRemoteAddr());
...
и вызвать эти ключи в PatternLayout для моего отладчика следующим образом:% X {key}.В идеале это должно было бы привести к чему-то похожему на следующее:
[INFO] request #UUID1 #IP1: start.
[INFO] request #UUID1 #IP1: do something controller class
[INFO] request #UUID2 #IP2: start.
[INFO] request #UUID1 #IP1: do something service class
[INFO] request #UUID2 #IP2: do something controller class
[INFO] request #UUID2 #IP2: do something service class
[INFO] request #UUID1 #IP1: end.
[INFO] request #UUID2 #IP2: end.
Хотя я не уверен, как начать фактически реализовывать это.Любое понимание будет оценено!