-
Notifications
You must be signed in to change notification settings - Fork 32
/
zap.go
34 lines (28 loc) · 902 Bytes
/
zap.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
package core
import (
"fmt"
"os"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"github.com/test-instructor/yangfan/server/core/internal"
"github.com/test-instructor/yangfan/server/global"
"github.com/test-instructor/yangfan/server/utils"
)
// Zap 获取 zap.Logger
// Author [SliverHorn](https://github.com/SliverHorn)
func Zap() (logger *zap.Logger) {
if ok, _ := utils.PathExists(global.GVA_CONFIG.Zap.Director); !ok { // 判断是否有Director文件夹
fmt.Printf("create %v directory\n", global.GVA_CONFIG.Zap.Director)
_ = os.Mkdir(global.GVA_CONFIG.Zap.Director, os.ModePerm)
}
hostname, err := os.Hostname()
if err == nil {
global.GVA_CONFIG.Zap.Prefix = fmt.Sprintf("[%s]", hostname)
}
cores := internal.Zap.GetZapCores()
logger = zap.New(zapcore.NewTee(cores...))
if global.GVA_CONFIG.Zap.ShowLine {
logger = logger.WithOptions(zap.AddCaller())
}
return logger
}