From cdc115778551af69b4c9c39f758adcae61701aa3 Mon Sep 17 00:00:00 2001 From: Kegsay Date: Mon, 9 Mar 2020 14:37:51 +0000 Subject: [PATCH] Improve logging when sending events (#883) 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 47ad1882..da96c5c6 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 59b303b6..22c77447 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) }