Manager: use logger from context instead of constructing a new one

This makes the logs more consistent, and any log that's bound to a HTTP
request will have info about that request.
This commit is contained in:
Sybren A. Stüvel 2022-04-04 16:57:41 +02:00
parent bff5e30421
commit 89d00dcba5
2 changed files with 12 additions and 12 deletions

@ -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))
}

@ -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
}