【发布时间】:2017-11-30 06:19:12
【问题描述】:
我目前正在使用 Spring Boot 将请求/响应日志记录集成到 REST 服务中。对于请求,我选择了 Spring 提供的 CommonsRequestLoggingFilter:
@Bean
public CommonsRequestLoggingFilter requestLoggingFilter() {
CommonsRequestLoggingFilter loggingFilter = new CommonsRequestLoggingFilter();
loggingFilter.setIncludeClientInfo(false);
loggingFilter.setIncludeQueryString(true);
loggingFilter.setIncludePayload(true);
loggingFilter.setMaxPayloadLength(1024);
return loggingFilter;
}
并且在配置文件中:
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG
但是,对于响应,似乎没有相应的类?在 Spring 中是否有类似的方法来记录服务器响应?
编辑: 具体来说,我在上述设置中看到的在 BeforeRequest 中什么都没有:
2017-06-28 09:32:32.258 DEBUG 22872 --- [http-nio-8081-exec-2] o.s.w.f.CommonsRequestLoggingFilter : Before request [uri=/someApp/someObject]
作为 AfterRequest 的请求负载:
2017-06-28 09:32:32.272 DEBUG 22872 --- [http-nio-8081-exec-2] o.s.w.f.CommonsRequestLoggingFilter :
After request [uri=/someApp/someResource;payload={
"someObject": {
"lastName": "Doe",
"reference": "123456789"
}
}
]
而实际的响应不在日志中。
【问题讨论】: