Thêm phần này vào lớp đại diện cho các cấu hình cho các ứng dụng:
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;
}
bạn có thể phải nhận xét ra
f.setIncludePayload(true);
Nếu bạn đang sử dụng Spring 4.1.3+ (xem SPR-12.477), hãy chắc chắn để lập bản đồ bộ lọc của bạn để MVC Dispatcher Servlet của bạn và không cho '/* url-pattern> 'hoặc yêu cầu của bạn sẽ không được gói trong' ContentCachingRequestWrapper' cần thiết. –
@ LászlóvandenHoek, Bạn có thể xây dựng không? Tôi không theo bạn. Tôi đang sử dụng 'ContentCachingRequestWrapper', nhưng phần thân yêu cầu luôn là một chuỗi rỗng. Bộ lọc –
@AbhijithMadhav được bật bằng cách ánh xạ chúng tới mẫu URL hoặc servlet. Điều tôi muốn nói là bạn cần đảm bảo rằng bạn ánh xạ 'AbstractRequestLoggingFilter' của mình thành điều phối viên, không phải là mẫu URL'/* '. –