-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgin.go
33 lines (29 loc) · 763 Bytes
/
gin.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package zlog
import (
"fmt"
"github.com/gin-gonic/gin"
"go.uber.org/zap/zapcore"
"time"
)
var (
GinOutPut *LoggerWriter
)
func init() {
GinOutPut = NewWriter(DefaultLogger, zapcore.DebugLevel)
}
func GetGinLogger(conf ...gin.LoggerConfig) gin.HandlerFunc {
if len(conf) == 0 {
return gin.LoggerWithConfig(gin.LoggerConfig{
Formatter: LogFormatter,
Output: GinOutPut,
})
}
return gin.LoggerWithConfig(conf[0])
}
var LogFormatter = func(param gin.LogFormatterParams) string {
if param.Latency > time.Minute {
param.Latency = param.Latency.Truncate(time.Second)
}
data := fmt.Sprintf("[GIN] statusCode:%v path:%s method:%s cost:%v clientIp:%s", param.StatusCode, param.Path, param.Method, param.Latency, param.ClientIP)
return data
}