【发布时间】:2019-06-20 04:53:35
【问题描述】:
我刚刚在前端为我们的微服务环境创建了简单的 Zuul 代理,但现在我想将所有条目记录到通过代理的日志文件中。
正确执行我需要启用的任何操作。
【问题讨论】:
标签: spring spring-boot spring-mvc netflix-zuul
我刚刚在前端为我们的微服务环境创建了简单的 Zuul 代理,但现在我想将所有条目记录到通过代理的日志文件中。
正确执行我需要启用的任何操作。
【问题讨论】:
标签: spring spring-boot spring-mvc netflix-zuul
我假设 zuul 的实现是一个常规的 Spring Boot 驱动的微服务,其中有一堆 netflix 的 bean 在引擎盖下运行。 在这种情况下,它可以在 tomcat 上运行(可能对于其他服务,想法相同,但技术实现可能不同)。
所以对于tomcat:
作为第一选择,您可以利用“访问日志”的 tomcat 功能,无论如何都会记录所有请求。它还允许某种程度的自定义(记录什么)。技术难点在于,tomcat 访问日志默认不由 logback 管理,所以你必须使用某种适配器。
Here您可以找到如何从技术上解决此问题并将访问日志与 logback 集成的想法。
另一种方法是创建一个过滤器,它将提取所需的部分并记录请求/响应/您想要记录的任何内容
Here 是这样创建自定义过滤器的示例。 当然,我还需要从响应中记录一些内容,您应该配置过滤器类型(请参阅链接中的 java 代码示例)
一个提示/警告:考虑性能影响,以便在服务器处于高负载请求时此功能不会减慢处理速度。
【讨论】: