From 6f3e54bcb8c9728c037d921af310c8457507836d Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Thu, 3 Mar 2016 11:44:03 +0100 Subject: logging changes --- .../pdfas/web/filter/ExceptionCatchFilter.java | 41 ++++++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter') diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java index 4713e84f..7b126a40 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/ExceptionCatchFilter.java @@ -33,7 +33,9 @@ import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.slf4j.MDC; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,11 +65,16 @@ public class ExceptionCatchFilter implements Filter { * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - //try { + try { if(request instanceof HttpServletRequest) { + logger.debug("Processing Parameters into Attributes"); HttpServletRequest httpRequest = (HttpServletRequest)request; + MDC.put("SESSION_ID", httpRequest.getSession().getId()); + + logger.warn("Access from IP {}", getClientIpAddr(httpRequest)); + PdfAsHelper.logAccess(httpRequest); @SuppressWarnings("unchecked") Enumeration parameterNames = httpRequest.getParameterNames(); @@ -75,12 +82,20 @@ public class ExceptionCatchFilter implements Filter { String name = parameterNames.nextElement(); String value = httpRequest.getParameter(name); request.setAttribute(name, value); - logger.debug("Setting attribute: " + name + " - " + value); } } - + try { chain.doFilter(request, response); + } finally { + if(request instanceof HttpServletResponse) { + HttpServletResponse resp = (HttpServletResponse)response; + logger.debug("Got response status: {}", resp.getStatus()); + } + } + } finally { + MDC.remove("SESSION_ID"); + } /*} catch(Throwable e) { System.err.println("Unhandled Exception found!"); e.printStackTrace(System.err); @@ -88,6 +103,26 @@ public class ExceptionCatchFilter implements Filter { }*/ } + public static String getClientIpAddr(HttpServletRequest request) { + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + return ip; + } + /** * @see Filter#init(FilterConfig) */ -- cgit v1.2.3