in src/main/java/org/apache/sling/tracer/internal/LogTracer.java [280:306]
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
//At generic filter level we just check for tracer hint via Header (later Cookie)
//and not touch the request parameter to avoid eager initialization of request
//parameter map
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
//Invoke at start so that header can be set. If done at end there is a chance
//that response is committed
Recording recording = recorder.startRecording(httpRequest, (HttpServletResponse) servletResponse);
TracerContext tracerContext = getTracerContext(httpRequest.getHeader(HEADER_TRACER),
httpRequest.getHeader(HEADER_TRACER_CONFIG), recording);
try {
if (tracerContext != null) {
enableCollector(tracerContext);
}
filterChain.doFilter(servletRequest, servletResponse);
} finally {
if (tracerContext != null) {
disableCollector();
}
recorder.endRecording(httpRequest, recording);
}
}