log_config.go 1007 B

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