44 lines
978 B
Go
44 lines
978 B
Go
package global
|
|
|
|
import (
|
|
"enterprise/common/config"
|
|
rotatelogs "github.com/lestrrat-go/file-rotatelogs"
|
|
"github.com/rifflock/lfshook"
|
|
log "github.com/sirupsen/logrus"
|
|
"github.com/smbrave/goutil"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
func initLog() error {
|
|
cfg := config.GetConfig()
|
|
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 {
|
|
return 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(cfg.Server.LogLevel))
|
|
return nil
|
|
}
|