# HG changeset patch
# User Christophe de Vienne <christophe@cdevienne.info>
# Date 1729685494 -7200
#      Wed Oct 23 14:11:34 2024 +0200
# Node ID f7310262f489b9238766467fda37d34958759fa1
# Parent  cdd7f820857cacb64a69ccb10c5fd86c8b3e7511
Server: add the log middleware stack

diff --git a/server.go b/server.go
--- a/server.go
+++ b/server.go
@@ -19,6 +19,7 @@
 
 	"github.com/go-openapi/runtime/flagext"
 	"github.com/go-openapi/swag"
+	"github.com/justinas/alice"
 	flags "github.com/orus-io/go-flags"
 	"github.com/rs/zerolog"
 	"golang.org/x/net/netutil"
@@ -455,10 +456,13 @@
 
 // SetHandler allows for setting a http handler on this server.
 func (s *Server) SetHandler(handler http.Handler) {
-	s.handler = handler
+	stack := LogStack(s.log, zerolog.ErrorLevel)
+
 	if s.Prometheus {
-		s.handler = Prometheus("/metrics")(s.handler)
+		stack = append(stack, Prometheus("/metrics"))
 	}
+
+	s.handler = alice.New(stack...).Then(handler)
 }
 
 // UnixListener returns the domain socket listener.