From 36a4718e01991173422bb25a8c81b534275db491 Mon Sep 17 00:00:00 2001 From: Dan Fuhry Date: Thu, 3 Apr 2025 23:51:02 -0400 Subject: [PATCH] [sd] write logs once at notice level when health status changes --- sd/healthcheck.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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, -- 2.50.1