lclog.go 945 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package logger
  2. import (
  3. "github.com/druidcaesa/gotool"
  4. rotatelogs "github.com/lestrrat/go-file-rotatelogs"
  5. "github.com/sirupsen/logrus"
  6. "os"
  7. "path"
  8. "server/global"
  9. "time"
  10. )
  11. var Logger *logrus.Logger
  12. func InitLog() {
  13. config := global.GVA_CONFIG.Logrus
  14. logFilePath := config.Path
  15. logFileName := config.Name
  16. err := os.MkdirAll(logFilePath, os.ModeDir)
  17. if err != nil {
  18. gotool.Logs.ErrorLog().Println(err)
  19. panic(err)
  20. }
  21. // 日志文件
  22. fileName := path.Join(logFilePath, logFileName)
  23. writer, _ := rotatelogs.New(
  24. fileName+".%Y%m%d.log",
  25. rotatelogs.WithMaxAge(5*24*time.Hour), // 文件最大保存时间
  26. rotatelogs.WithRotationTime(24*time.Hour), // 日志切割时间间隔
  27. )
  28. // 实例化
  29. logger := logrus.New()
  30. logger.SetFormatter(&logrus.JSONFormatter{
  31. TimestampFormat: "2006-01-02 15:04:05.000",
  32. })
  33. // 设置日志级别
  34. logger.SetLevel(logrus.DebugLevel)
  35. logger.SetOutput(writer)
  36. Logger = logger
  37. }