server: minor improvements of logger middleware
This commit is contained in:
parent
4e06072d96
commit
ea91a0486e
1 changed files with 6 additions and 13 deletions
|
@ -9,30 +9,23 @@ import (
|
||||||
|
|
||||||
func Logger(ctx lib.Context) gin.HandlerFunc {
|
func Logger(ctx lib.Context) gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
// before request
|
|
||||||
// t := time.Now()
|
// t := time.Now()
|
||||||
path := c.Request.URL.Path
|
|
||||||
raw := c.Request.URL.RawQuery
|
|
||||||
if raw != "" {
|
|
||||||
path = path + "?" + raw
|
|
||||||
}
|
|
||||||
c.Next()
|
c.Next()
|
||||||
// after request
|
|
||||||
msg := c.Errors.String()
|
msg := c.Errors.String()
|
||||||
if msg == "" {
|
if msg == "" {
|
||||||
msg = "request"
|
msg = "request"
|
||||||
}
|
}
|
||||||
status := c.Writer.Status()
|
|
||||||
var evt *zerolog.Event
|
var evt *zerolog.Event
|
||||||
switch {
|
status := c.Writer.Status()
|
||||||
case status >= 500:
|
if status >= 500 {
|
||||||
evt = logging.Error(ctx)
|
evt = logging.Error(ctx)
|
||||||
case status >= 400:
|
} else if status >= 400 {
|
||||||
evt = logging.Warn(ctx)
|
evt = logging.Warn(ctx)
|
||||||
default:
|
} else {
|
||||||
evt = logging.Info(ctx)
|
evt = logging.Info(ctx)
|
||||||
}
|
}
|
||||||
evt.Str("method", c.Request.Method).Str("path", path).
|
evt.Str("method", c.Request.Method).
|
||||||
|
Str("path", c.Request.URL.Path).
|
||||||
// Dur("resp_time", time.Since(t)).
|
// Dur("resp_time", time.Since(t)).
|
||||||
Int("status", status).
|
Int("status", status).
|
||||||
Str("client_ip", c.ClientIP()).Msg(msg)
|
Str("client_ip", c.ClientIP()).Msg(msg)
|
||||||
|
|
Loading…
Add table
Reference in a new issue