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