public void doFilter()

in src/main/java/org/apache/sling/reqanalyzer/impl/RequestAnalysisLogger.java [106:137]


    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
            ServletException {

        if (request instanceof SlingHttpServletRequest) {
            final long start = System.currentTimeMillis();
            final AnylserSlingHttpServletResponse slingRes = new AnylserSlingHttpServletResponse(
                    (SlingHttpServletResponse) response);
            try {
                chain.doFilter(request, response);
            } finally {
                final long end = System.currentTimeMillis();
                final SlingHttpServletRequest slingReq = (SlingHttpServletRequest) request;

                StringBuilder pw = new StringBuilder(1024);
                pw.append(String.format(":%d:%d:%s:%s:%s:%d%n", start, (end - start), slingReq.getMethod(),
                        slingReq.getRequestURI(), slingRes.getContentType(), slingRes.getStatus()));

                final Iterator<String> entries = slingReq.getRequestProgressTracker().getMessages();
                while (entries.hasNext()) {
                    pw.append('!').append(entries.next());
                }

                BufferedWriter out = this.logFile;
                if (out != null) {
                    out.write(pw.toString());
                    out.flush();
                }
            }
        } else {
            chain.doFilter(request, response);
        }
    }