首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用/health时添加日志

调用/health时添加日志
EN

Stack Overflow用户
提问于 2017-08-24 20:12:10
回答 2查看 1.8K关注 0票数 0

我开发了一个应用程序弹簧启动,我使用执行器来提供健康指示器。问题是,我必须开发一个自定义健康,并且当我调用/health时,我需要记录该端点的返回。

我创建了一个端点/health-bis,它调用/health并记录它的响应。但问题是当服务不可用时,/health返回http代码503

你有什么想法吗?

诚挚的问候

EN

回答 2

Stack Overflow用户

发布于 2019-06-13 19:06:44

我也有同样的任务,并通过覆盖原始org.springframework.boot.actuate.health.HealthEndpoint.来解决它我只是简单地创建了一个自定义的:

代码语言:javascript
复制
@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时,我都会在日志中看到完整的状态日志消息。

票数 1
EN

Stack Overflow用户

发布于 2017-08-24 20:41:20

您可以创建过滤器并对其进行注册。

RequestDumperFilter将记录对已过滤端点的请求/响应。它非常冗长,所以也许你会想要创建自己的过滤器,但这是一个很好的开始。

代码语言:javascript
复制
@Bean
public FilterRegistrationBean requestDumperFilter()
{
    FilterRegistrationBean registration = new FilterRegistrationBean();
    Filter requestDumperFilter = new RequestDumperFilter();
    registration.setFilter(requestDumperFilter);
    registration.addUrlPatterns("/*");
    return registration;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45861319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档