diff options
Diffstat (limited to 'vendor/github.com/labstack/echo/v4/middleware/logger.go')
-rw-r--r-- | vendor/github.com/labstack/echo/v4/middleware/logger.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/vendor/github.com/labstack/echo/v4/middleware/logger.go b/vendor/github.com/labstack/echo/v4/middleware/logger.go index b2e48347..6fd59efb 100644 --- a/vendor/github.com/labstack/echo/v4/middleware/logger.go +++ b/vendor/github.com/labstack/echo/v4/middleware/logger.go @@ -2,6 +2,7 @@ package middleware import ( "bytes" + "encoding/json" "io" "os" "strconv" @@ -20,7 +21,7 @@ type ( // Skipper defines a function to skip middleware. Skipper Skipper - // Tags to constructed the logger format. + // Tags to construct the logger format. // // - time_unix // - time_unix_nano @@ -175,7 +176,10 @@ func LoggerWithConfig(config LoggerConfig) echo.MiddlewareFunc { return buf.WriteString(s) case "error": if err != nil { - return buf.WriteString(err.Error()) + // Error may contain invalid JSON e.g. `"` + b, _ := json.Marshal(err.Error()) + b = b[1 : len(b)-1] + return buf.Write(b) } case "latency": l := stop.Sub(start) |