i_log.go 976 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package infra
  2. import (
  3. "fmt"
  4. "github.com/sirupsen/logrus"
  5. "os"
  6. "path/filepath"
  7. "runtime"
  8. "time"
  9. )
  10. var GlobalLogger *logrus.Logger
  11. // InitLog 初始化日志配置
  12. func InitLog(logDir string, prefix string) {
  13. time.Sleep(time.Duration(1) * time.Second)
  14. // 创建、追加、读写,777,所有权限
  15. logPath := logDir + prefix + "-" + time.Now().Format("2006-01-02-15-04-05") + ".log"
  16. err := util.CreateParentDir(logPath)
  17. if err != nil {
  18. os.Exit(-1)
  19. }
  20. f, err := os.OpenFile(logPath, os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm)
  21. if err != nil {
  22. os.Exit(-1)
  23. }
  24. GlobalLogger = logrus.New()
  25. GlobalLogger.SetOutput(f)
  26. GlobalLogger.SetReportCaller(true) // 开启行号显示
  27. GlobalLogger.SetFormatter(&logrus.JSONFormatter{
  28. CallerPrettyfier: func(frame *runtime.Frame) (string, string) {
  29. fileName := filepath.Base(frame.File)
  30. return "", fmt.Sprintf("%s:%d", fileName, frame.Line)
  31. },
  32. })
  33. GlobalLogger.Info("初始化GlobalLogger - 成功")
  34. }