我想记录所有将以json格式的传入请求。将这些请求记录到logger文件。
@RestController
public class restClassName{
@RequestMapping(value={"/uri"})
public ObjectResponse functionRestName(@RequestBody ObjectRequest or){
String jsonInString = mapper.writeValueAsString(staff);//Redundant stuff as the request json is already read by MappingJackson2HttpMessageConverter
logger.info("request::"+jsonInString)
return instance;
}
}
,但这似乎是一种可获得的方法。从MappingJackson2HttpMessageConverter中,已经读取了HttpRequest,可以将JSON请求转换为Java对象。我只需要登录JSON。/div>
实现它的最简单方法是使用CommonsRequestLoggingFilter
如下伪代码所述。
@Bean
public CommonsRequestLoggingFilter requestLoggingFilter() {
CommonsRequestLoggingFilter crlf = new CommonsRequestLoggingFilter();
crlf.setIncludeClientInfo(true);
crlf.setIncludeQueryString(true);
crlf.setIncludePayload(true);
return crlf;
}
然后在应用程序中。
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG
这将记录所有请求,请按照CommonsRequestLoggingFilter API文档的链接进行更多自定义。