首页 > 解决方案 > Spring Boot Zuul 服务器日志记录

问题描述

我刚刚在前端为我们的微服务环境创建了简单的 Zuul 代理,但现在我想将所有条目记录到通过代理的日志文件中。

正确执行我需要启用的任何操作。

标签: springspring-bootspring-mvcnetflix-zuul

解决方案


我假设 zuul 的实现是一个常规的 Spring Boot 驱动的微服务,其中有一堆 netflix 的 bean 在引擎盖下运行。在这种情况下,它可以在 tomcat 上运行(可能对于其他服务,想法是相同的,但技术实现可能不同)。

所以对于tomcat:

作为第一选择,您可以利用“访问日志”的 tomcat 功能,无论如何都会记录所有请求。它还允许某种程度的自定义(记录什么)。技术上的困难是tomcat访问日志默认不是由logback管理的,所以你必须使用某种适配器。

在这里,您可以找到有关如何从技术上解决此问题并将访问日志与 logback 集成的想法。

另一种方法是创建一个过滤器,它将提取所需的部分并记录请求/响应/您想要记录的任何内容

是创建这样的自定义过滤器的示例。当然,您还需要从响应中记录一些内容,您应该配置过滤器类型(请参阅链接中的 java 代码示例)

一个提示/警告:考虑性能影响,以便在服务器处于高负载请求的情况下,此功能不会减慢处理速度。


推荐阅读