public void doFilter()

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);
            }
        }