]> go.fuhry.dev Git - runtime.git/commitdiff
[sd] write logs once at notice level when health status changes
authorDan Fuhry <dan@fuhry.com>
Fri, 4 Apr 2025 03:51:02 +0000 (23:51 -0400)
committerDan Fuhry <dan@fuhry.com>
Fri, 4 Apr 2025 03:51:02 +0000 (23:51 -0400)
sd/healthcheck.go

index 89163a3bb8e5e2d9b9c04dc15255a73f2f1295c8..9948c50a8121cc095796a08c8437e1554d9b74c7 100644 (file)
@@ -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,