创建该库是为了记录传入的 HTTP 请求和传出的 HTTP 响应,并将这些日志自动发送到 Logstash。
spring-boot-logging是用于记录 Spring Boot 应用程序的 HTTP 请求/响应以及与 Elastic Stack 集成的库。
依赖:
<dependency> |
logstash-logging-spring-boot-starter提供的主要功能开始:
- 它能够记录所有传入的HTTP请求和传出的HTTP响应的全文,并将这些日志以适当的标签发送到Logstash。
- 它能够计算并存储每个请求的执行时间
- 它为使用Spring RestTemplate或OpenFeign调用的下游服务生成并传播correlationId。
- 它是可自动配置的Spring Boot库--你不需要做任何事情,只需要将它作为一个依赖关系加入到你的应用程序中,就可以让它工作。
默认情况下,该库启用,但会尝试在你的应用程序中找到Logback配置,以设置Logstash appender。
如果找不到这样的appender,库会使用Spring Boot默认的日志配置,其中不包括Logstash appender。
为了强迫它使用库内自动配置的appender定义,我们必须将属性logging.logstash.enabled设置为true。
logging.logstash: |
如果你提供自己的Logback配置文件,你应该配置Logstash appender来发送mdc标签中的所有字段,或者定义要发送的字段列表。下面是库所支持的字段列表:
X-Correlation-ID: 关联所有发送到下游服务的请求,在一个终端的调用中。
X-Request-ID:为单对请求/响应生成的ID
X-Response-Time:请求处理的时间,以毫秒计。
X-Response-Status:响应的HTTP状态。
X-Operation-Name:操作的名称,包括控制器名称和方法名称。
audit:用于标记库生成的日志。
详细点击标题