1
1
package echozap
2
2
3
3
import (
4
+ "fmt"
4
5
"time"
5
6
6
7
"github.com/labstack/echo/v4"
@@ -22,20 +23,20 @@ func ZapLogger(log *zap.Logger) echo.MiddlewareFunc {
22
23
req := c .Request ()
23
24
res := c .Response ()
24
25
25
- id := req .Header .Get (echo .HeaderXRequestID )
26
- if id == "" {
27
- id = res .Header ().Get (echo .HeaderXRequestID )
28
- }
29
-
30
26
fields := []zapcore.Field {
31
27
zap .String ("remote_ip" , c .RealIP ()),
32
28
zap .String ("time" , time .Since (start ).String ()),
33
- zap .String ("request_id" , id ),
34
29
zap .String ("host" , req .Host ),
35
- zap .String ("method" , req .Method ),
36
- zap .String ("uri" , req .RequestURI ),
30
+ zap .String ("request" , fmt .Sprintf ("%s %s" , req .Method , req .RequestURI )),
37
31
zap .Int ("status" , res .Status ),
38
- zap .String ("size" , res .Header ().Get ("Content-Length" )),
32
+ zap .Int64 ("size" , res .Size ),
33
+ zap .String ("user_agent" , req .UserAgent ()),
34
+ }
35
+
36
+ id := req .Header .Get (echo .HeaderXRequestID )
37
+ if id == "" {
38
+ id = res .Header ().Get (echo .HeaderXRequestID )
39
+ fields = append (fields , zap .String ("request_id" , id ))
39
40
}
40
41
41
42
n := res .Status
0 commit comments