@Override public void log(Request request, Response response) { if (logger.isDebugEnabled()) { logger.debug( "%s %s %s", request.getMethod(), request.getUri().toString(), request.getProtocol().toString()); } }
@Override public void log(Request request, Response response) { // copied almost entirely from NCSARequestLog final StringBuilder buf = new StringBuilder(256); String address = request.getHeader(HttpHeaders.X_FORWARDED_FOR); if (address == null) { address = request.getRemoteAddr(); } buf.append(address); buf.append(" - "); final Authentication authentication = request.getAuthentication(); if (authentication instanceof Authentication.User) { buf.append( ((Authentication.User) authentication).getUserIdentity().getUserPrincipal().getName()); } else { buf.append('-'); } buf.append(" ["); buf.append(dateCache.format(request.getTimeStamp())); buf.append("] \""); buf.append(request.getMethod()); buf.append(' '); buf.append(request.getUri().toString()); buf.append(' '); buf.append(request.getProtocol()); buf.append("\" "); // TODO: Handle async requests? // e.g. if (request.getAsyncContinuation().isInitial()) assert !request.isAsyncStarted(); int status = response.getStatus(); if (status <= 0) { if (request.isHandled()) { status = 200; } else { status = 404; } } buf.append((char) ('0' + ((status / 100) % 10))); buf.append((char) ('0' + ((status / 10) % 10))); buf.append((char) ('0' + (status % 10))); final long responseLength = response.getContentCount(); if (responseLength >= 0) { buf.append(' '); if (responseLength > 99999) { buf.append(responseLength); } else { if (responseLength > 9999) { buf.append((char) ('0' + ((responseLength / 10000) % 10))); } if (responseLength > 999) { buf.append((char) ('0' + ((responseLength / 1000) % 10))); } if (responseLength > 99) { buf.append((char) ('0' + ((responseLength / 100) % 10))); } if (responseLength > 9) { buf.append((char) ('0' + ((responseLength / 10) % 10))); } buf.append((char) ('0' + (responseLength % 10))); } } else { buf.append(" -"); } final long now = System.currentTimeMillis(); final long dispatchTime = request.getDispatchTime(); buf.append(' '); buf.append(now - ((dispatchTime == 0) ? request.getTimeStamp() : dispatchTime)); buf.append(' '); buf.append(now - request.getTimeStamp()); System.out.println(buf.toString()); }