2014-01-06 2 views
0

컨트롤러에서 포스트 데이터를 기록하는 가장 좋은 방법은 무엇입니까? Logback 또는 다른 로깅 프레임 워크를 사용하여 좋은 예제를 찾을 수 없습니다. 나는 포스트 데이터를 볼 수 없기 때문에 요청을 디버그 할 수 없다. 그리고 나는 인터셉터를 추가하고 싶지 않다.스프링 MVC 컨트롤러 및 로그 포스트 데이터 (로그 백 포함)

@RequestMapping(method = RequestMethod.POST, value = "/notification") 
    @ResponseBody 
    public void notification(HttpServletRequest request, HttpServletResponse response) throws Exception { 

답변

0

방금 ​​매개 변수를 반복하고이를 내뱉습니다.

String getCaseInsensitiveParameter(HttpServletRequest request, String parameter){ 
     Map params = request.getParameterMap(); 
      Iterator i = params.keySet().iterator(); 
      while (i.hasNext()) 
       { 
       String key = (String) i.next(); 
       String value = ((String[]) params.get(key))[ 0 ]; 
       if (parameter.equalsIgnoreCase(key)) { 
        return value; 
       } 
       } 
     return null; 
    } 
1

내가 아는 한, 내장 된 방법이 없습니다.

I는 BufferInputStream에 요청 InputStream 읽는 HttpServletRequestWrapper으로 HttpServletRequest 랩 맞춤 Filter 쓰기 POST (또는 다른)에있어서 수신되는 경우 String으로 콘텐츠를 기록한다.

단지 바이너리라면 그 내용을 기록하고 싶지 않을 것입니다.

관련 문제