我开发了一个应用程序弹簧启动,我使用执行器来提供健康指示器。问题是,我必须开发一个自定义健康,并且当我调用/health时,我需要记录该端点的返回。
我创建了一个端点/health-bis,它调用/health并记录它的响应。但问题是当服务不可用时,/health返回http代码503
你有什么想法吗?
诚挚的问候
发布于 2019-06-13 19:06:44
我也有同样的任务,并通过覆盖原始org.springframework.boot.actuate.health.HealthEndpoint.来解决它我只是简单地创建了一个自定义的:
@Slf4j
@Component
@Endpoint(id = "health")
public class CustomHealthEndpoint extends HealthEndpoint {
public CustomHealthEndpoint(HealthAggregator healthAggregator,
HealthIndicatorRegistry registry) {
super(new CompositeHealthIndicator(healthAggregator, registry));
}
@Override
@ReadOperation
public Health health() {
Health health = super.health();
log.debug("Health status details: {}", health);
return health;
}
}现在,当我每次调用/health时,我都会在日志中看到完整的状态日志消息。
发布于 2017-08-24 20:41:20
您可以创建过滤器并对其进行注册。
RequestDumperFilter将记录对已过滤端点的请求/响应。它非常冗长,所以也许你会想要创建自己的过滤器,但这是一个很好的开始。
@Bean
public FilterRegistrationBean requestDumperFilter()
{
FilterRegistrationBean registration = new FilterRegistrationBean();
Filter requestDumperFilter = new RequestDumperFilter();
registration.setFilter(requestDumperFilter);
registration.addUrlPatterns("/*");
return registration;
}https://stackoverflow.com/questions/45861319
复制相似问题