Spring Boot 2.2.0版本中,Spring Boot Actuator的"httptrace"端点已经不存在了。

51

在Spring Boot 2.2.0中,“httptrace”执行器端点不再存在。 我该如何恢复此功能?


1
https://juplo.de/actuator-httptrace-does-not-work-with-spring-boot-2-2/ - firstpostcommenter
2个回答

97

在Spring Boot 2.2.0中,该功能已默认移除

作为解决方法,将此配置添加到Spring环境中:

management.endpoints.web.exposure.include: httptrace

并提供一个像这样的HttpTraceRepository bean:

@Configuration
// @Profile("actuator-endpoints")
// if you want: register bean only if profile is set
public class HttpTraceActuatorConfiguration {

    @Bean
    public HttpTraceRepository httpTraceRepository() {
        return new InMemoryHttpTraceRepository();
    }

}

http://localhost:8080/actuator/httptrace再次可用。


1
在我的情况下,@Profile注释是不必要的 - 移除它后它可以工作! - plucins
1
可以确认需要 HttpTraceRepository。 - BabyishTank

7

您需要启用httptrace,只需添加以下应用程序属性即可。默认情况下它是禁用的。

management.trace.http.enabled: true
management.endpoints.web.exposure.include: httptrace

需要一个HttpTraceRepository bean。您可以使用自己的自定义实现或者InMemoryHttpTraceRepository


你好!很遗憾,这不正确。至少对于Spring Boot 2.2.0及以上版本来说是如此。请参阅发行说明 :) https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2.0-M3-Release-Notes#actuator-http-trace-and-auditing-are-disabled-by-default - phip1611
有什么不对劲,我已经用2.2.2.RELEASE进行了测试,我从文档https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-endpoints-exposing-endpoints中找到了信息。 - ravthiru
嗯...奇怪..根据官方2.2.0版本发布说明,唯一让我成功的方法是提供一个bean。(https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes) - phip1611
这对我有用。感谢ravthiru,phip1611的误导性评论... - Facundo Laxalde
1
我有关于此事的更新。management.endpoints.web.exposure.include:httptrace(或'*')绝对是必需的。但是根据发布说明(和我的测试),management.trace.http.enabled:true并不是必需的,尽管它可以用来禁用此功能,即使存在一个HttpTraceRepository bean。对于这种情况非常抱歉! - phip1611

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接