Aggiungere questo alla classe che rappresenta la configurazione per l'applicazione:
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;
}
potrebbe essere necessario commentare
f.setIncludePayload(true);
Se stai usando Primavera 4.1.3+ (vedi SPR-12477), assicurarsi di mappare il filtro al MVC Dispatcher Servlet e non a '/* url-pattern> ', o la tua richiesta non verrà avvolta nell'essenziale' ContentCachingRequestWrapper'. –
@ LászlóvandenHoek, puoi elaborare? Io non ti seguo. Sto usando 'ContentCachingRequestWrapper', ma il corpo della richiesta è sempre una stringa vuota. –
I filtri @AbhijithMadhav sono abilitati mappandoli su un pattern URL o su un servlet. Quello che intendevo era che dovresti assicurarti di mappare il tuo "AbstractRequestLoggingFilter" al tuo dispatcher, non al pattern URL "/ *". –