config.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package config
  2. import (
  3. "fmt"
  4. "sync"
  5. "time"
  6. "github.com/joho/godotenv"
  7. "github.com/sirupsen/logrus"
  8. )
  9. var initOnce sync.Once
  10. func Init(cfgfile string) {
  11. initOnce.Do(func() {
  12. envFilename := cfgfile
  13. // if SysType == "windows" {
  14. // envFilename = "local.env"
  15. // // go run main.go -c local67.env
  16. // flag.StringVar(&envFilename, "c", "local.env", "配置环境")
  17. // flag.Parse()
  18. // }
  19. fmt.Printf("当前运行环境为:%v, 加载的环境变量路径为:%v, 运行路径为:%v \r\n", SysType, envFilename, RootPtah)
  20. if err := godotenv.Load(envFilename); err != nil {
  21. logrus.Panic("本地环境加载失败", err)
  22. return
  23. }
  24. // 全局修改为上海时区
  25. time.Local, _ = time.LoadLocation("Asia/Shanghai")
  26. // 读取翻译文件
  27. if err := LoadLocales("manifest/locales/zh-cn.yaml"); err != nil {
  28. logrus.Panic("翻译文件加载失败", err)
  29. }
  30. BuildLogger()
  31. InitDatabase()
  32. InitRedis()
  33. InitCache()
  34. InitNats()
  35. InitEtcd()
  36. InitElastic()
  37. InitCOSClient()
  38. })
  39. }