5 java spring spring-boot spring-restcontroller
如何在Spring Boot应用程序的过滤器中处理之前和之后记录请求有效负载/参数.
例如:
/api/users/auth Body: `name:Vijay, place:bangalore...`
Run Code Online (Sandbox Code Playgroud)
我必须在处理请求之前和之后在过滤器中记录请求主体.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
并在您的logback.xml喜欢中添加记录器定义:
<logger name="org.springframework.web.filter.CommonsRequestLoggingFilter" level="DEBUG">
<appender-ref ref="REQUEST_RESPONSE_FILE_APPENDER"/>
</logger>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4632 次 |
| 最近记录: |