【问题标题】:Using Spring Boot, how do I see debug info for Zuul?使用 Spring Boot,如何查看 Zuul 的调试信息?
【发布时间】:2016-02-23 12:22:40
【问题描述】:

我正在尝试在我的 Spring Boot 项目中使用 Zuul。

application.properties

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

GET 请求正在运行;但是,Zuul 没有转发我的 POST 请求。我没有看到此处列出的GETPOST 的任何调试输出:How To Use

如何为 Zuul 启用 DEBUG 日志模式?

【问题讨论】:

    标签: spring spring-boot spring-cloud netflix-zuul


    【解决方案1】:

    设置属性zuul.debug.request=true

    【讨论】:

    • 如果您使用执行器,也可以使用/trace 端点。
    • 这将标记我一个错误说 --> zuul.debug.request 是未知属性
    • IDE 并不了解所有 netflix oss 属性。
    【解决方案2】:

    Spencer 的回答不适用于我当前的 Zuul 版本(Spring Cloud Starter Zuul 1.4.6.RELEASE)。相反,起作用的是将以下日志记录属性添加到 application.yml

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

    【讨论】:

      【解决方案3】:

      为了在 Spring 应用程序中记录请求和响应,我成功使用了属性:

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

      【讨论】:

        【解决方案4】:

        你需要两件事:

        1. zuul.include-debug-header: true 添加到您的application.yml 文件中。
        2. debug=true 附加到您的请求中,例如http://localhost:8080/api/user/1?debug=true

        这样您将在响应中的X-Zuul-Debug-Header 中收到调试数据

        【讨论】:

        • 这可行,但是我发现调试信息很难理解
        【解决方案5】:

        我们正在使用

        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)
        

        然后每个请求的响应都包含一个新的标头 X-Zuul-Debug-Header,其中包含为处理该请求而运行的 zuul 过滤器列表。

        【讨论】:

          猜你喜欢
          • 2017-12-22
          • 2016-10-06
          • 1970-01-01
          • 1970-01-01
          • 2021-02-22
          • 2018-11-13
          • 2011-07-19
          • 2016-11-17
          • 2016-04-13
          相关资源
          最近更新 更多