spring-boot - 我如何记录http请求的主机头(Spring Boot)

标签 spring-boot http logging request request-headers

我需要查看通过我的 Spring Boot 应用程序的所有请求的主机 header 是什么。我尝试记录所有请求 header ,但我似乎无法记录主机 header 。

最佳答案

创建一个过滤器,您将能够看到每个可用的 header 。这是示例代码:

@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class RequestFilter implements Filter {

    public RequestFilter() {}

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletRequest httpRequest = (HttpServletRequest) request;

        Enumeration<String> headerNames = httpRequest.getHeaderNames(); //print this to see all headers

        httpRequest.getHeader("host"); //returns the host header
        chain.doFilter(req, res);
    }

    @Override
    public void init(FilterConfig filterConfig) {}

    @Override
    public void destroy() {}
}

关于spring-boot - 我如何记录http请求的主机头(Spring Boot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63523188/

相关文章:

android - 如何将 Android 应用程序日志保存到物理设备上的文件中?

Hadoop 日志文件丢失

java - RabbitMQ Spring AMQP - 一段时间后的消息处理

java - 如何使用 Spring Boot PropertySource 读取外部配置文件

ios - 检查一个 URL 是否有 http ://prefix

http - HTTP header Pragma : Public mean? 是什么意思

spring-boot - 带 KeyCloak 和 Redis session 存储的 Spring Boot

java - JHipster 与 Liquibase 投入生产

http - 将 node.js 中的 UDP 套接字从应用程序传输到 HTTP

java - Logback 上下文选择器的实际使用