forked from fagongzi/manba
-
Notifications
You must be signed in to change notification settings - Fork 0
/
log.go
52 lines (45 loc) · 987 Bytes
/
log.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
package util
import (
"strings"
"github.com/CodisLabs/codis/pkg/utils/bytesize"
"github.com/CodisLabs/codis/pkg/utils/log"
)
var (
maxFileFrag = 10000000
maxFragSize int64 = bytesize.GB * 1
)
// SetLogLevel set log level
func SetLogLevel(level string) string {
level = strings.ToLower(level)
var l = log.LEVEL_INFO
switch level {
case "error":
l = log.LEVEL_ERROR
case "warn", "warning":
l = log.LEVEL_WARN
case "debug":
l = log.LEVEL_DEBUG
case "info":
fallthrough
default:
level = "info"
l = log.LEVEL_INFO
}
log.SetLevel(l)
log.Infof("set log level to <%s>", level)
return level
}
// InitLog init log
func InitLog(file string) {
// set output log file
if "" != file {
f, err := log.NewRollingFile(file, maxFileFrag, maxFragSize)
if err != nil {
log.PanicErrorf(err, "open rolling log file failed: %s", file)
} else {
log.StdLog = log.New(f, "")
}
}
log.SetLevel(log.LEVEL_INFO)
log.SetFlags(log.Flags() | log.Lshortfile)
}