package main import ( "fmt" "os" "time" rotatelogrus "github.com/lestrrat-go/file-rotatelogs" "github.com/rifflock/lfshook" logrus "github.com/sirupsen/logrus" ) // 日志初始化 func init() { logrus.SetLevel(logrus.DebugLevel) logrus.AddHook(newLfsHook(24)) } func newLfsHook(maxRemainCnt uint) logrus.Hook { //检查与创建日志文件夹 _, err := os.Stat("logs") if os.IsNotExist(err) { os.Mkdir("logs", 0755) } logrusName := fmt.Sprintf(`logs/%s`, "campus-supervision") writer, err := rotatelogrus.New( logrusName+"%Y%m%d.log", rotatelogrus.WithLinkName(logrusName), rotatelogrus.WithRotationTime(24*time.Hour), rotatelogrus.WithRotationCount(maxRemainCnt), ) if err != nil { panic("config local file system for logrusger error: " + err.Error()) } logrus.SetLevel(logrus.DebugLevel) lfsHook := lfshook.NewHook(lfshook.WriterMap{ logrus.DebugLevel: writer, logrus.InfoLevel: writer, logrus.WarnLevel: writer, logrus.ErrorLevel: writer, logrus.FatalLevel: writer, logrus.PanicLevel: writer, }, &logrus.TextFormatter{DisableColors: true}) return lfsHook }