yintai2/base/global/log.go

43 lines
936 B
Go

package global
import (
rotatelogs "github.com/lestrrat-go/file-rotatelogs"
"github.com/rifflock/lfshook"
log "github.com/sirupsen/logrus"
"github.com/smbrave/goutil"
"os"
"time"
)
func InitLog() {
logLevel := GetConfig().Server.LogLevel
logfile := "log/server.log"
writer, err := rotatelogs.New(
logfile+".%Y%m%d",
rotatelogs.WithLinkName(logfile),
rotatelogs.WithMaxAge(time.Duration(86400*7)*time.Second),
rotatelogs.WithRotationTime(time.Duration(86400)*time.Second),
)
if err != nil {
panic(err)
}
pathMap := lfshook.WriterMap{
log.TraceLevel: writer,
log.DebugLevel: writer,
log.InfoLevel: writer,
log.WarnLevel: writer,
log.ErrorLevel: writer,
log.FatalLevel: writer,
log.PanicLevel: writer,
}
log.AddHook(lfshook.NewHook(pathMap, new(goutil.LogFile)))
log.SetOutput(os.Stdout)
log.SetReportCaller(true)
log.SetFormatter(new(goutil.LogFile))
log.SetLevel(log.Level(logLevel))
}