separated logger middleware

This commit is contained in:
2026-01-11 17:05:20 -07:00
parent 9de51c3925
commit 85ccace24f
5 changed files with 124 additions and 84 deletions
+2 -49
View File
@@ -10,7 +10,6 @@ import (
"path"
"strconv"
"strings"
"time"
"github.com/angelbeltran/templater"
@@ -21,6 +20,7 @@ import (
"ruben/inventory2/internal/domains/raw_events"
"ruben/inventory2/internal/server/middleware"
"ruben/inventory2/internal/server/response"
"ruben/inventory2/internal/server/router"
"ruben/inventory2/internal/server/webhooks"
etsy_webhooks "ruben/inventory2/internal/server/webhooks/etsy"
)
@@ -46,54 +46,7 @@ func NewServer(
etsy *etsy_platform.Platform,
auth *authentication.Authenticator,
) *Server {
reqIDCh := newRequestIDProvider(ctx)
reqLog := logger.WithGroup("request")
mux := response.NewMux(func(fn response.HandlerFunc) response.HandlerFunc {
return func(r *http.Request) (response.Response, error) {
start := time.Now()
args := []any{
"id", <-reqIDCh,
"url", r.URL,
}
reqLog.Debug("Request", args...)
res, err := fn(r)
end := time.Now()
var status int
if err != nil {
status = response.GetStatusFromError(err)
} else {
var ok bool
if status, ok = res.GetStatus(); !ok {
status = http.StatusOK
}
}
args = append(args,
"status", status,
"elapsed", time.Duration(end.UnixNano()-start.UnixNano()),
)
switch status / 100 {
case 1:
reqLog.Debug("Response", args...)
case 2:
reqLog.Debug("Response", args...)
case 3:
reqLog.Debug("Response", args...)
case 4:
reqLog.Warn("Response", args...)
default:
reqLog.Error("Response", args...)
}
return res, err
}
})
mux := router.NewMux(middleware.LogRequests(ctx, logger.WithGroup("request")))
s := &Server{
log: logger,