From 68e6d08c768b789987a753d42f66caf73ce10ee1 Mon Sep 17 00:00:00 2001 From: Daenney Date: Fri, 17 Feb 2023 12:02:29 +0100 Subject: [feature] Add a request ID and include it in logs (#1476) This adds a lightweight form of tracing to GTS. Each incoming request is assigned a Request ID which we then pass on and log in all our log lines. Any function that gets called downstream from an HTTP handler should now emit a requestID=value pair whenever it logs something. Co-authored-by: kim --- internal/web/assets.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'internal/web/assets.go') diff --git a/internal/web/assets.go b/internal/web/assets.go index 31d09f4be..8f662017a 100644 --- a/internal/web/assets.go +++ b/internal/web/assets.go @@ -102,6 +102,9 @@ func (m *Module) getAssetETag(filePath string, fs http.FileSystem) (string, erro // package along with the other middlewares func (m *Module) assetsCacheControlMiddleware(fs http.FileSystem) gin.HandlerFunc { return func(c *gin.Context) { + // Acquire context from gin request. + ctx := c.Request.Context() + // set this Cache-Control header to instruct clients to validate the response with us // before each reuse (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) c.Header(cacheControlHeader, cacheControlNoCache) @@ -118,7 +121,7 @@ func (m *Module) assetsCacheControlMiddleware(fs http.FileSystem) gin.HandlerFun // either fetch etag from ttlcache or generate it eTag, err := m.getAssetETag(assetFilePath, fs) if err != nil { - log.Errorf("error getting ETag for %s: %s", assetFilePath, err) + log.Errorf(ctx, "error getting ETag for %s: %s", assetFilePath, err) return } -- cgit v1.2.3