Здравствуйте. У меня есть один код WebFilter, который регистрирует запросы и ответы от моего приложения, но я хочу добавить идентификатор трассировки при первом обращении к приложению, но он не отображается:
Request:
2019-05-06 14:23:23.590 INFO [application,,,] 4151 --- [ctor-http-nio-3] c.m.m.shared.filters.RequestFilter : msg="Request to Application", path=/v1/car/1111",
Response:
2019-05-06 14:23:28.196 INFO [application,f1dd6a9997339ht6,f1cc6ff0gg7969306,false] 4151 --- [ctor-http-nio-4] c.m.m.shared.filters.RequestFilter : msg="Response from Application", status_code="OK",
Каквы видите на моем ответе у меня есть идентификатор трассировки, но в запросе у меня нет.
Есть ли способ зарегистрировать запрос с идентификатором трассировки?
Вот мой код Iпопробуй реализовать.
@Component
@Order(TraceWebFilter.ORDER + 5)
class RequestFilter implements WebFilter {
private Tracer tracer;
private CustomLogger logger = new CustomLogger(RequestFilter.class);
public RequestFilter(Tracer tracer) {
this.tracer = tracer;
}
@Override
public Mono<Void> filter(ServerWebExchange serverWebExchange, WebFilterChain webFilterChain) {
Span currentSpan = this.tracer.currentSpan();
if (currentSpan != null) {
serverWebExchange.getRequest().getHeaders().add("TRACE-ID", currentSpan.context().traceIdString());
}
logger.info("Request to Application")
.add("path", serverWebExchange.getRequest().getPath().pathWithinApplication().value())
.add("headers", serverWebExchange.getRequest().getHeaders().toString())
.log();
serverWebExchange.getResponse().beforeCommit(() -> {
Span currentSpan2 = this.tracer.currentSpan();
if (currentSpan2 != null) {
serverWebExchange.getResponse().getHeaders().add("TRACE-ID", currentSpan2.context().traceIdString());
}
logger.info("Response from Application").add("status_code", serverWebExchange.getResponse().getStatusCode()).log();
return Mono.empty();
});
return webFilterChain.filter(serverWebExchange);
}
}
Мой запрос:
Expected: 2019-05-06 14:23:28.196 INFO [application,f1dd6a9997339ht6,f1cc6ff0gg7969306,false] 4151
Actual: 2019-05-06 14:23:23.590 INFO [application,,,]