programing

스프링 부트를 사용하여 Zuul에 대한 디버그 정보를 보려면 어떻게 해야 합니까?

lastmoon 2023. 7. 21. 21:53
반응형

스프링 부트를 사용하여 Zuul에 대한 디버그 정보를 보려면 어떻게 해야 합니까?

저는 스프링 부트 프로젝트에서 Zuul을 사용하려고 합니다.

application.properties

server.context-path=/${spring.application.name}
zuul.routes.engine.path=/api/engine/**
zuul.routes.engine.url=${engine.url}

GET요청이 작동하고 있습니다. 그러나 Zuul은 나의 요청을 전달하지 않습니다.POST요청한다.두 가지 모두에 대한 디버그 출력이 표시되지 않습니다.GET또는POST여기 나열됨:사용 방법.

활성화 방법DEBUG주울의 로깅 모드?

속성 설정zuul.debug.request=true.

현재 Zuul 버전(Spring Cloud Starter Zuul 1.4.6)에서는 Spencer의 답변이 저에게 맞지 않았습니다.해제).대신 다음 로깅 속성을 application.yml에 추가했습니다.

logging:
  level:
    org:
      springframework:
        cloud:
          netflix: trace

Spring 응용 프로그램에서 요청 및 응답을 기록하려면 속성을 사용합니다.

logging:
  level:
    org:
      apache:
        http:
          wire: debug

두 가지가 필요합니다.

  1. 더하다zuul.include-debug-header: true당신에게application.yml파일.
  2. 추가debug=true예를 들어, 당신의 요청에.http://localhost:8080/api/user/1?debug=true

이렇게 하면 디버그 데이터를 수신할 수 있습니다.X-Zuul-Debug-Header그에 대한

사용 중입니다.

spring-boot-2.3.3.RELEASE 
spring-cloud-netflix-zuul-2.2.4.RELEASE
zuul-core-1.3.1

추가했습니다.

zuul:
  include-debug-header: true
  debug.request: true
  debugFilters.disabled: false

내 application.yml 파일로.

추가했습니다.

com.netflix.zuul.context.Debug.setDebugRequest(true);
com.netflix.zuul.context.Debug.setDebugRequestHeadersOnly(true);
com.netflix.zuul.context.Debug.setDebugRouting(true);

내 필터의 doFilter() 메서드 중 하나로:

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)

그런 다음 모든 요청의 응답에는 해당 요청을 처리하기 위해 실행된 zuul 필터 목록이 포함된 새 헤더 X-Zuul-Debug-Header가 포함되었습니다.

언급URL : https://stackoverflow.com/questions/33836422/using-spring-boot-how-do-i-see-debug-info-for-zuul

반응형