/
log.go
55 lines (47 loc) · 1.15 KB
/
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
53
54
55
package util
import (
log "github.com/Sirupsen/logrus"
"gopkg.in/natefinch/lumberjack.v2"
"os"
)
var GinLog *log.Logger
var RecLog *log.Logger
var AnyLog *log.Logger
var CompLog *log.Logger
var CronLog *log.Logger
func InitLogs(c Config) {
var logLevel = log.DebugLevel.String()
logDirPath := c.App().LogDirPath
if len(logDirPath) == 0 {
var lg = log.New()
lg.Out = os.Stdout
lg.Level = log.DebugLevel
GinLog = lg
RecLog = lg
AnyLog = lg
CompLog = lg
CronLog = lg
} else {
GinLog = newFileLog(logDirPath, logLevel, "gin.log")
RecLog = newFileLog(logDirPath, logLevel, "rec.log")
AnyLog = newFileLog(logDirPath, logLevel, "any.log")
CompLog = newFileLog(logDirPath, logLevel, "comp.log")
CronLog = newFileLog(logDirPath, logLevel, "cron.log")
}
AnyLog.Debug("Lets start fun with hustledb :)")
}
func newFileLog(logDir, logLevel, logName string) *log.Logger {
fileLog := &lumberjack.Logger{
Filename: logDir + "/" + logName,
MaxSize: 5, // megabytes
MaxBackups: 10,
MaxAge: 28, //days
}
var lg = log.New()
lg.Out = fileLog
level, err := log.ParseLevel(logLevel)
if err == nil {
lg.Level = level
}
return lg
}