From: Dan Fuhry Date: Fri, 4 Apr 2025 03:51:02 +0000 (-0400) Subject: [sd] write logs once at notice level when health status changes X-Git-Url: https://go.fuhry.dev/?a=commitdiff_plain;h=36a4718e01991173422bb25a8c81b534275db491;p=runtime.git [sd] write logs once at notice level when health status changes --- diff --git a/sd/healthcheck.go b/sd/healthcheck.go index 89163a3..9948c50 100644 --- a/sd/healthcheck.go +++ b/sd/healthcheck.go @@ -148,13 +148,17 @@ func HealthCheckLoop(ctx context.Context, svc HealthCheckService) <-chan HealthC var event HealthChangeEvent err := svc.Check() if err == nil { - logger.V(1).Infof("%T: svc %s is healthy", svc, svc.ServiceDefinition().ServiceName) + if lastEvent == nil || lastEvent.Status != event.Status { + logger.Noticef("%T: svc %s becomes healthy", svc, svc.ServiceDefinition().ServiceName) + } event = HealthChangeEvent{ Status: ServiceUp, Error: nil, } } else { - logger.V(1).Infof("%T: svc %s is unhealthy: %v", svc, svc.ServiceDefinition().ServiceName, err) + if lastEvent == nil || lastEvent.Status != event.Status { + logger.Noticef("%T: svc %s becomes unhealthy: %v", svc, svc.ServiceDefinition().ServiceName, err) + } event = HealthChangeEvent{ Status: ServiceDown, Error: err,