spring - Spring Boot Zuul 服务器日志记录
问题描述
我刚刚在前端为我们的微服务环境创建了简单的 Zuul 代理,但现在我想将所有条目记录到通过代理的日志文件中。
正确执行我需要启用的任何操作。
解决方案
我假设 zuul 的实现是一个常规的 Spring Boot 驱动的微服务,其中有一堆 netflix 的 bean 在引擎盖下运行。在这种情况下,它可以在 tomcat 上运行(可能对于其他服务,想法是相同的,但技术实现可能不同)。
所以对于tomcat:
作为第一选择,您可以利用“访问日志”的 tomcat 功能,无论如何都会记录所有请求。它还允许某种程度的自定义(记录什么)。技术上的困难是tomcat访问日志默认不是由logback管理的,所以你必须使用某种适配器。
在这里,您可以找到有关如何从技术上解决此问题并将访问日志与 logback 集成的想法。
另一种方法是创建一个过滤器,它将提取所需的部分并记录请求/响应/您想要记录的任何内容
这是创建这样的自定义过滤器的示例。当然,您还需要从响应中记录一些内容,您应该配置过滤器类型(请参阅链接中的 java 代码示例)
一个提示/警告:考虑性能影响,以便在服务器处于高负载请求的情况下,此功能不会减慢处理速度。
推荐阅读
- java - Lucene 自动完成实现Suggest.InputIterator 以包含多个字段
- javascript - 追加后引导多选在表中不起作用
- linux - 如何使用每个按钮两个交替信号来处理遥控器
- python - 提取两个字符串之间的多个字符串
- reactjs - 如何在 React JS 中为多个 API 调用设置状态?
- django - 同一页面上的项目列表、表单、响应。我错过了什么?
- firebase - Lodash : orderBy 如何将没有我们排序的字段的文档放在排序列表的顶部?
- .net - 尽管空闲时间超时为 0,但安静的服务第一次性能下降
- jenkins - 工件和詹金斯的建议工作流程
- android - 播放核心库给予非致命