in log4j-jakarta-web/src/main/java/org/apache/logging/log4j/web/Log4jServletFilter.java [74:92]
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
throws IOException, ServletException {
if (request.getAttribute(ALREADY_FILTERED_ATTRIBUTE) != null) {
chain.doFilter(request, response);
} else {
request.setAttribute(ALREADY_FILTERED_ATTRIBUTE, Boolean.TRUE);
try {
this.initializer.setLoggerContext();
CURRENT_REQUEST.set(request);
chain.doFilter(request, response);
} finally {
this.initializer.clearLoggerContext();
CURRENT_REQUEST.remove();
// Execute once per thread
request.removeAttribute(ALREADY_FILTERED_ATTRIBUTE);
}
}
}