log_cfg.go 959 B

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