栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 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 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      : 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.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
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603411.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号