From 7dfd3d69411aa9ffa3a453e114c08559c11d8537 Mon Sep 17 00:00:00 2001 From: Bruno Paz Date: Mon, 30 Sep 2019 20:07:09 +0100 Subject: [PATCH] feat: change log format --- .codacy.yml | 3 +-- logger.go | 19 ++++++++++--------- logger_test.go | 3 +-- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.codacy.yml b/.codacy.yml index 062152f..80c39fc 100644 --- a/.codacy.yml +++ b/.codacy.yml @@ -3,8 +3,7 @@ engines: golint: govet: coverage: - #exclude_paths: - # - config/engines.yml exclude_paths: - 'vendor/**' - 'testdata/**/*' + - 'README.md' diff --git a/logger.go b/logger.go index 2aa97df..cebedc3 100644 --- a/logger.go +++ b/logger.go @@ -1,6 +1,7 @@ package echozap import ( + "fmt" "time" "github.com/labstack/echo/v4" @@ -22,20 +23,20 @@ func ZapLogger(log *zap.Logger) echo.MiddlewareFunc { req := c.Request() res := c.Response() - id := req.Header.Get(echo.HeaderXRequestID) - if id == "" { - id = res.Header().Get(echo.HeaderXRequestID) - } - fields := []zapcore.Field{ zap.String("remote_ip", c.RealIP()), zap.String("time", time.Since(start).String()), - zap.String("request_id", id), zap.String("host", req.Host), - zap.String("method", req.Method), - zap.String("uri", req.RequestURI), + zap.String("request", fmt.Sprintf("%s %s", req.Method, req.RequestURI)), zap.Int("status", res.Status), - zap.String("size", res.Header().Get("Content-Length")), + zap.Int64("size", res.Size), + zap.String("user_agent", req.UserAgent()), + } + + id := req.Header.Get(echo.HeaderXRequestID) + if id == "" { + id = res.Header().Get(echo.HeaderXRequestID) + fields = append(fields, zap.String("request_id", id)) } n := res.Status diff --git a/logger_test.go b/logger_test.go index 5eaba0f..0cf3da2 100644 --- a/logger_test.go +++ b/logger_test.go @@ -34,8 +34,7 @@ func TestZapLogger(t *testing.T) { assert.Equal(t, 1, logs.Len()) assert.Equal(t, int64(200), logFields["status"]) assert.NotNil(t, logFields["time"]) - assert.Equal(t, "GET", logFields["method"]) - assert.Equal(t, "/something", logFields["uri"]) + assert.Equal(t, "GET /something", logFields["request"]) assert.NotNil(t, logFields["host"]) assert.NotNil(t, logFields["size"]) }