campus-supervision/logrus.go

51 lines
1.1 KiB
Go
Raw Permalink Normal View History

2023-12-29 04:58:20 +00:00
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
}