diff --git a/internal/manager/api_impl/worker_auth.go b/internal/manager/api_impl/worker_auth.go index 499197ad..ba9bd173 100644 --- a/internal/manager/api_impl/worker_auth.go +++ b/internal/manager/api_impl/worker_auth.go @@ -9,6 +9,7 @@ import ( oapi_middle "github.com/deepmap/oapi-codegen/pkg/middleware" "github.com/getkin/kin-openapi/openapi3filter" "github.com/labstack/echo/v4" + "github.com/rs/zerolog" "golang.org/x/crypto/bcrypt" "git.blender.org/flamenco/internal/manager/persistence" @@ -63,6 +64,15 @@ func WorkerAuth(ctx context.Context, authInfo *openapi3filter.AuthenticationInpu func requestWorkerStore(e echo.Context, w *persistence.Worker) { req := e.Request() reqCtx := context.WithValue(req.Context(), workerKey, w) + + // Update the logger in this context to reflect the Worker. + l := zerolog.Ctx(reqCtx) + l.UpdateContext(func(c zerolog.Context) zerolog.Context { + return c. + Str("wUUID", w.UUID). + Str("wName", w.Name) + }) + e.SetRequest(req.WithContext(reqCtx)) } diff --git a/internal/manager/api_impl/zerolog.go b/internal/manager/api_impl/zerolog.go index d70a3dcb..6cf055bd 100644 --- a/internal/manager/api_impl/zerolog.go +++ b/internal/manager/api_impl/zerolog.go @@ -9,16 +9,6 @@ import ( ) func requestLogger(e echo.Context) zerolog.Logger { - logCtx := log.With(). - Str("remoteAddr", e.RealIP()). - Str("userAgent", e.Request().UserAgent()) - - worker := requestWorker(e) - if worker != nil { - logCtx = logCtx. - Str("wUUID", worker.UUID). - Str("wName", worker.Name) - } - - return logCtx.Logger() + logger := log.Ctx(e.Request().Context()) + return *logger }