使用 Spring Boot,如何查看 Zuul 的调试信息?

Posted

技术标签:

【中文标题】使用 Spring Boot,如何查看 Zuul 的调试信息?【英文标题】:Using Spring Boot, how do I see debug info for 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 日志模式?

【问题讨论】:

【参考方案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】:

你需要两件事:

    zuul.include-debug-header: true 添加到您的application.yml 文件中。 将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 过滤器列表。

【讨论】:

以上是关于使用 Spring Boot,如何查看 Zuul 的调试信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Boot 应用程序中从 Api 网关(Zuul)调用外部服务(非 MSA)

Spring Boot 如何在 Zuul 微服务上验证令牌

使用 Spring boot、Eureka、Zuul、Spring Oauth 创建 OAuth 安全微服务的问题

Dockerized Spring boot 和 Zuul

Spring Boot + 云 | Zuul 代理 |附加 URL/重写

Spring Boot + 云 | Zuul 代理 | 404 错误