2016-08-03 1 views
1

Я вижу, что Spring имеет CommonsRequestLoggingFilter, с помощью которого мы можем выполнять ведение журнала запросов.CommonsRequestLoggingFilter не регистрирует параметры в методе beforeRequest

Но, когда я пытаюсь его использовать, я вижу 2 строки журнала на выходе.

один для метода beforeRequest, а другой для метода afterRequest.

Параметры не отображаются в beforeRequest, но только в методе afterRequest.

Я не хочу, чтобы строка журнала не отображала параметры, мне нужна линия для журнала afterRequest, который имеет параметры.

Кроме того, я хочу понять, почему beforeRequest не регистрирует параметры.

Может кто-нибудь помочь мне в этом.

спасибо,

s

ответ

0

Это, как представляется, не включают в себя тело запроса в сообщении beforeRequest из-за того, как InputStream обрабатывается в AbstractRequestLoggingFilter.

Чтобы фильтр не регистрировал beforeRequest вообще, вы можете расширить CommonsRequestLoggingFilter, otherride beforeRequest и не выходить из запроса.

public class MyRequestLoggingFilter extends CommonsRequestLoggingFilter { 

@Override 
protected void beforeRequest(HttpServletRequest request, String message) { 
    // do nothing 
} 
} 
Смежные вопросы