-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapi.go
72 lines (58 loc) · 1.55 KB
/
api.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package jsonlog
import (
"context"
"net/http"
"os"
"github.com/rs/zerolog"
)
//NewJSONLog 创建日志库
func NewJSONLog(filepath, confpath string, arg ...interface{}) *zerolog.Logger {
return newJSONLog(filepath, confpath, arg...)
}
//LogClose 关闭日志库
func LogClose(sg os.Signal) {
logClose(sg)
}
// Debug ..
func Debug(Logger *zerolog.Logger) *zerolog.Event {
return fileAndLine(2, Logger.Debug())
}
// Info ..
func Info(Logger *zerolog.Logger) *zerolog.Event {
return fileAndLine(2, Logger.Info())
}
// Warn ..
func Warn(Logger *zerolog.Logger) *zerolog.Event {
return fileAndLine(2, Logger.Warn())
}
// Error ..
func Error(Logger *zerolog.Logger) *zerolog.Event {
return fileAndLine(2, Logger.Error())
}
// Fatal ..
func Fatal(Logger *zerolog.Logger) *zerolog.Event {
return fileAndLine(2, Logger.Fatal())
}
// Panic ..
func Panic(Logger *zerolog.Logger) *zerolog.Event {
return fileAndLine(2, Logger.Panic())
}
// Log ..
func Log(Logger *zerolog.Logger) *zerolog.Event {
return fileAndLine(2, Logger.Log())
}
// Ctx ..
func Ctx(ctx context.Context) *zerolog.Logger {
return zerolog.Ctx(ctx)
}
//RequestLog http请求的日志 返回值, body里的数据
func RequestLog(r *http.Request, flog *zerolog.Event) (bodybuf []byte) {
return requestLog(r, flog)
}
//SendJSON 发送json数据给前端
//flog 可以为nil,用来记录日志的
//data 为数据
//status 默认由400 和 200 两个
func SendJSON(flog *zerolog.Event, w http.ResponseWriter, err error, data interface{}, status int) error {
return sendJSON(flog, w, err, data, status)
}