繁体   English   中英

在Spring Boot中记录请求有效负载

[英]Log request payload in Spring Boot

如何在Spring Boot应用程序的过滤器中处理之前和之后记录请求有效负载/参数。

例如:

/api/users/auth Body: `name:Vijay, place:bangalore...`

我必须在处理请求之前和之后在过滤器中记录请求主体。

Spring Boot为此提供了CommonsRequestLoggingFilter

你这样配置它:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.CommonsRequestLoggingFilter;


@Configuration
public class RequestLoggingFilterConfigurer {

    @Bean
    public CommonsRequestLoggingFilter requestLoggingFilter() {
        CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
        filter.setIncludeQueryString(true);
        filter.setIncludePayload(true);
        // truncate payloads
        filter.setMaxPayloadLength(1000);
        filter.setIncludeHeaders(false);
        filter.setAfterMessagePrefix("Request received: ");
        return filter;
    }
}

并将logger定义添加到logback.xml如下所示:

<logger name="org.springframework.web.filter.CommonsRequestLoggingFilter" level="DEBUG">
    <appender-ref ref="REQUEST_RESPONSE_FILE_APPENDER"/>
</logger> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM