spring boot项目打印所有请求信息

直接上代码,添加两个类即可

WebConfig:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Component
public class WebConfig implements  WebMvcConfigurer {


    @Autowired
    LogParamsInterceptor timeInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(timeInterceptor);
    }
}

LogParamsInterceptor:

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Enumeration;

@Component
@Slf4j
public class LogParamsInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("preHandle start");
        Enumeration<String> headerNames = request.getHeaderNames();
        //使用循环遍历请求头,并通过getHeader()方法获取一个指定名称的头字段
        while (headerNames.hasMoreElements()){
            String headerName = headerNames.nextElement();
            log.info("preHandle header中信息,headerName:{},headerValue:{}",headerName ,request.getHeader(headerName));
        }
        log.info("preHandle requestURI:{}" , request.getRequestURI());
        log.info("preHandle queryString:{}",request.getQueryString());


        log.info("preHandle end");
        return true;
    }
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object o, ModelAndView modelAndView) throws Exception {

    }
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object o, Exception ex) throws Exception {
        log.info("afterCompletion start");
        Enumeration<String> headerNames = request.getHeaderNames();
        //使用循环遍历请求头,并通过getHeader()方法获取一个指定名称的头字段
        while (headerNames.hasMoreElements()){
            String headerName = headerNames.nextElement();
            log.info("afterCompletion header中信息,headerName:{},headerValue:{}",headerName ,request.getHeader(headerName));
        }
        log.info("afterCompletion requestURI:{}" , request.getRequestURI());
        log.info("afterCompletion queryString:{}",request.getQueryString());
        log.info("afterCompletion ex:{}" + ex);

        log.info("afterCompletion response响应状态码:{}",response.getStatus());
        log.info("afterCompletion end");
    }
}

打印信息示例:

2021-11-26 22:41:21.689  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle start
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle header中信息,headerName:host,headerValue:localhost:8001
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle header中信息,headerName:user-agent,headerValue:curl/7.78.0
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle header中信息,headerName:accept,headerValue:*/*
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle requestURI:/test1/test
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle queryString:null
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle end
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion start
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion header中信息,headerName:host,headerValue:localhost:8001
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion header中信息,headerName:user-agent,headerValue:curl/7.78.0
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion header中信息,headerName:accept,headerValue:*/*
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion requestURI:/test1/test
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion queryString:null
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion ex:{}null
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion response响应状态码:404
2021-11-26 22:41:21.690  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion end
2021-11-26 22:41:21.691  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle start
2021-11-26 22:41:21.691  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle header中信息,headerName:host,headerValue:localhost:8001
2021-11-26 22:41:21.691  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle header中信息,headerName:user-agent,headerValue:curl/7.78.0
2021-11-26 22:41:21.691  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle header中信息,headerName:accept,headerValue:*/*
2021-11-26 22:41:21.691  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle requestURI:/error
2021-11-26 22:41:21.691  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle queryString:null
2021-11-26 22:41:21.691  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : preHandle end
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion start
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion header中信息,headerName:host,headerValue:localhost:8001
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion header中信息,headerName:user-agent,headerValue:curl/7.78.0
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion header中信息,headerName:accept,headerValue:*/*
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion requestURI:/error
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion queryString:null
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion ex:{}null
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion response响应状态码:404
2021-11-26 22:41:21.692  INFO 33700 --- [nio-8001-exec-4] p.w.s.s.config.LogParamsInterceptor      : afterCompletion end
 


版权声明:本文为wangwenzhe222原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。