一尘不染

在Spring Boot执行器运行状况检查API中启用日志记录

spring-boot

我正在为项目使用Spring boot Actuator
API,并具有运行状况检查端点,并通过以下方式启用了它:

management.endpoints.web.base-path=/
management.endpoints.web.path-mapping.health=healthcheck

这里提到

现在,当上述状态/healthcheck失败时,我想在我的应用程序日志文件中启用日志,并从此端点打印整个响应。

实现此目的的正确方法是什么?


阅读 477

收藏
2020-05-30

共1个答案

一尘不染

最好的方法是使用扩展执行器端点@EndpointWebExtension。您可以执行以下操作;

@Component
@EndpointWebExtension(endpoint = HealthEndpoint.class)
public class HealthEndpointWebExtension {

    private HealthEndpoint healthEndpoint;
    private HealthStatusHttpMapper statusHttpMapper;

    // Constructor

    @ReadOperation
    public WebEndpointResponse<Health> health() {
        Health health = this.healthEndpoint.health();
        Integer status = this.statusHttpMapper.mapStatus(health.getStatus());
        // log here depending on health status.
        return new WebEndpointResponse<>(health, status);
    }
}

更多关于执行器终点延伸这里,在 4.8。
扩展现有端点

2020-05-30