in utils/log.go [40:76]
func InitLog(logLevel string) {
// log.SetReportCaller(true), caller by filename
filenameHook := filename.NewHook()
filenameHook.Field = "line"
log.AddHook(filenameHook)
// TODO: Add write permission check
if logFilename != "" {
output := &lumberjack.Logger{
Filename: logFilename,
MaxSize: 100,
MaxAge: 7,
MaxBackups: 30,
LocalTime: true,
Compress: false,
}
if logAlsoToStderr {
writer := io.MultiWriter(output, os.Stderr)
log.SetOutput(writer)
} else {
log.SetOutput(output)
}
} else {
log.SetOutput(os.Stdout)
}
level, err := log.ParseLevel(logLevel)
if err != nil {
log.Errorf("parse log level %v failed: %v\n", logLevel, err)
os.Exit(1)
}
log.SetLevel(level)
log.SetFormatter(&log.TextFormatter{
FullTimestamp: true,
TimestampFormat: "2006-01-02 15:04:05",
DisableQuote: true,
})
}