uygulama yapılandırmasını temsil eden sınıfa ekleyin:
import javax.servlet.Filter;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.filter.AbstractRequestLoggingFilter;
....
@Bean
public Filter loggingFilter(){
AbstractRequestLoggingFilter f = new AbstractRequestLoggingFilter() {
@Override
protected void beforeRequest(HttpServletRequest request, String message) {
System.out.println("beforeRequest: " +message);
}
@Override
protected void afterRequest(HttpServletRequest request, String message) {
System.out.println("afterRequest: " +message);
}
};
f.setIncludeClientInfo(true);
f.setIncludePayload(true);
f.setIncludeQueryString(true);
f.setBeforeMessagePrefix("BEFORE REQUEST [");
f.setAfterMessagePrefix("AFTER REQUEST [");
f.setAfterMessageSuffix("]\n");
return f;
}
Eğer bahar kullanıyorsanız
f.setIncludePayload(true);
açıklama gerekebilir 4.1.3+, sizin MVC Dispatcher Servlet Filtrenizi haritaya dikkat edin ve (SPR-12477 bakınız) değil '/* url-pattern> 'veya isteğiniz asıl 'ContentCachingRequestWrapper' seçeneğine sarılmayacak. –
@ LászlóvandenHoek, Detaylandırır mısınız? Ben seni takip etmiyorum 'ContentCachingRequestWrapper' kullanıyorum, ancak istek gövdesi her zaman boş bir dizedir. –
@AbhijithMadhav filtreleri, bunları bir URL kalıbı veya bir sunucuya eşleştirerek etkinleştirilir. Demek istediğim, '/ *' URL modeline değil, 'AbstractRequestLoggingFilter' öğesini göndericinize eşlediğinizden emin olmanız gerektiğiydi. –