From 99455d604a7151aad4d183d898411895d10ef1ec Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Mon, 9 Mar 2020 12:22:52 +0000 Subject: [PATCH] Improve logging when sending events We have some failing sytests on sqlite but it's very difficult to debug due to lack of useful logging. This adds a log line for when a new event is sent (incl. logging the event ID) as well as adding a user_id field for all contextual logs so we know who initiated certain actions. --- clientapi/routing/sendevent.go | 1 + common/httpapi.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/clientapi/routing/sendevent.go b/clientapi/routing/sendevent.go index 47ad18825..da96c5c65 100644 --- a/clientapi/routing/sendevent.go +++ b/clientapi/routing/sendevent.go @@ -77,6 +77,7 @@ func SendEvent( util.GetLogger(req.Context()).WithError(err).Error("producer.SendEvents failed") return jsonerror.InternalServerError() } + util.GetLogger(req.Context()).WithField("event_id", eventID).Info("Sent event") res := util.JSONResponse{ Code: http.StatusOK, diff --git a/common/httpapi.go b/common/httpapi.go index 59b303b6d..22c774475 100644 --- a/common/httpapi.go +++ b/common/httpapi.go @@ -25,6 +25,10 @@ func MakeAuthAPI( if err != nil { return *err } + // add the user ID to the logger + logger := util.GetLogger((req.Context())) + logger = logger.WithField("user_id", device.UserID) + req = req.WithContext(util.ContextWithLogger(req.Context(), logger)) return f(req, device) }