我正在为我的project使用Spring boot Actuator API并具有运行状况检查端点,并通过以下方式启用了它:
management.endpoints.web.base-path=/
management.endpoints.web.path-mapping.health=healthcheck
提及的here
现在,当上述
/healthcheck
的状态失败时,我想在我的应用程序日志文件中启用日志,并从此端点打印整个响应。实现此目的的正确方法是什么?
最佳答案
最好的方法是使用 @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);
}
}
有关执行器端点扩展here的更多信息,请参见 4.8。扩展现有端点