복붙노트

[SPRING] HttpRequest 및 HttpResponse를 파일에 기록하는 방법?

SPRING

HttpRequest 및 HttpResponse를 파일에 기록하는 방법?

누구든지 HttpRequest 및 HttpResponse를 파일에 기록하는 기술을 설명 할 수 있습니까?

우리는 Spring MVC / Spring Rest를 사용하고있다.

우리가 원하는 것은 요청이 처리되고 로그되기 전에 요청을 차단하는 것입니다. 응답이 전송되기 전에 동일한 방식으로 응답을 가로 채고 기록하십시오.

많은 감사드립니다.

해결법

  1. ==============================

    1.요청을 로깅하기 위해 Spring에는 AbstractRequestLoggingFilter 클래스가있다. (실제로는 서브 클래스 중 하나이다.) 들어오는 요청 (처리 전후)을 기록하는 데 사용할 수 있습니다.

    요청을 로깅하기 위해 Spring에는 AbstractRequestLoggingFilter 클래스가있다. (실제로는 서브 클래스 중 하나이다.) 들어오는 요청 (처리 전후)을 기록하는 데 사용할 수 있습니다.

    구성에 따라 페이로드, 클라이언트 정보 및 전체 URL (erquest 매개 변수 포함)이 포함될 수 있습니다. 이 세 가지 모두 기본적으로 비활성화되어 있지만 구성을 통해 활성화 할 수 있습니다 (자세한 내용은 javadoc을 참조하십시오).

    <filter>
        <filter-name>requestLoggingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CommonsRequestLoggingFilter</filter-class>
        <init-param>
            <param-name>includeClientInfo</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>includePayload</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>includeQueryString</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>requestLoggingFilter</filter-name>
        <servlet-name>dispatcherServlet</servlet-name>
    </filter-mapping>
    

    이제 필터는 Commons Logging logger를 사용하여 모든 것을 logfile에 기록합니다.

  2. ==============================

    2.허용되는 대답은 이미 정확하고 주석 기반 구성을 추가합니다. 다음 Bean을 설정에 추가하십시오.

    허용되는 대답은 이미 정확하고 주석 기반 구성을 추가합니다. 다음 Bean을 설정에 추가하십시오.

    @Bean
    public CommonsRequestLoggingFilter requestLoggingFilter() {
        CommonsRequestLoggingFilter loggingFilter = new CommonsRequestLoggingFilter();
        loggingFilter.setIncludeClientInfo(true);
        loggingFilter.setIncludeQueryString(true);
        loggingFilter.setIncludePayload(true);
        return loggingFilter;
    }
    
  3. from https://stackoverflow.com/questions/25905296/how-to-log-httprequest-and-httpresponse-in-a-file by cc-by-sa and MIT license