All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.infusers.core.log.LoggerInterceptor Maven / Gradle / Ivy

There is a newer version: 2025.03.0001
Show newest version
/*package com.infusers.core.log;

import java.util.Enumeration;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@Component
public class LoggerInterceptor implements HandlerInterceptor {

	private Logger log = LogManager.getLogger(LoggerInterceptor.class);

    @Override
    public boolean preHandle(
    		  HttpServletRequest request,
    		  HttpServletResponse response, 
    		  Object handler) throws Exception {

        // Logs here
    	log.info("[preHandle][" + request + "]" + "[" + request.getMethod()+ "]" + request.getRequestURI() + getParameters(request));
        //return super.preHandle(request, response, handler);
    	return true;
    }

    @Override
    public void postHandle(
    		  HttpServletRequest request, 
    		  HttpServletResponse response,
    		  Object handler, 
    		  ModelAndView modelAndView) throws Exception {
        // Logs here
        log.info("[postHandle][" + request + "]");
    }
    
    @Override
    public void afterCompletion(
      HttpServletRequest request, 
      HttpServletResponse response,
      Object handler, Exception ex) {
        // your code
        log.info("[afterCompletion][" + request + "][exception: " + ex + "]");

    }
    
    private String getParameters(HttpServletRequest request) {
        StringBuffer posted = new StringBuffer();
        Enumeration e = request.getParameterNames();
        if (e != null) {
            posted.append("?");
        }
        while (e.hasMoreElements()) {
            if (posted.length() > 1) {
                posted.append("&");
            }
            String curr = (String) e.nextElement();
            posted.append(curr + "=");
            if (curr.contains("password") 
              || curr.contains("pass")
              || curr.contains("pwd")) {
                posted.append("*****");
            } else {
                posted.append(request.getParameter(curr));
            }
        }
        String ip = request.getHeader("X-FORWARDED-FOR");
        String ipAddr = (ip == null) ? getRemoteAddr(request) : ip;
        if (ipAddr!=null && !ipAddr.equals("")) {
            posted.append("&_psip=" + ipAddr); 
        }
        return posted.toString();
    }
    
    private String getRemoteAddr(HttpServletRequest request) {
        String ipFromHeader = request.getHeader("X-FORWARDED-FOR");
        if (ipFromHeader != null && ipFromHeader.length() > 0) {
            log.debug("ip from proxy - X-FORWARDED-FOR : " + ipFromHeader);
            return ipFromHeader;
        }
        return request.getRemoteAddr();
    }
}*/




© 2015 - 2025 Weber Informatics LLC | Privacy Policy