config.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package utils
  2. import (
  3. "fmt"
  4. beeLogger "github.com/beego/bee/v2/logger"
  5. "github.com/beego/beego/v2/server/web"
  6. "strconv"
  7. )
  8. var (
  9. RunMode string //运行模式
  10. MYSQL_URL string //数据库连接
  11. MYSQL_URL_DATA string
  12. MYSQL_URL_EDB string
  13. REDIS_CACHE string //缓存地址
  14. //Rc *cache.Cache //redis缓存
  15. Re error //redis错误
  16. Rc RedisClient //redis缓存
  17. )
  18. // 基础配置
  19. var (
  20. // APPNAME 项目中文名称
  21. APPNAME string
  22. // EmailSendToUsers 邮件提醒人员
  23. EmailSendToUsers string
  24. // AlarmMsgUrl 报警服务地址
  25. AlarmMsgUrl string
  26. )
  27. // 公共api内部服务调用
  28. var (
  29. // EDB_LIB_URL 公共指标库
  30. EDB_LIB_URL string
  31. APP_EDB_LIB_NAME_EN string
  32. EDB_LIB_Md5_KEY string
  33. )
  34. var (
  35. LogPath string
  36. LogFile string
  37. BinLogPath string
  38. BinLogFile string
  39. ApiLogPath string
  40. ApiLogFile string
  41. LogMaxDays int //日志最大保留天数
  42. )
  43. func init() {
  44. tmpRunMode, err := web.AppConfig.String("run_mode")
  45. if err != nil {
  46. panic("配置文件读取run_mode错误 " + err.Error())
  47. }
  48. RunMode = tmpRunMode
  49. if RunMode == "" {
  50. localIp, err := GetLocalIP()
  51. if localIp == "10.0.0.123" {
  52. RunMode = "debug"
  53. } else {
  54. RunMode = "release"
  55. }
  56. configPath := `/home/code/config/eta_chart_lib/conf/app.conf`
  57. err = web.LoadAppConfig("ini", configPath)
  58. if err != nil {
  59. fmt.Println("web.LoadAppConfig Err:" + err.Error())
  60. }
  61. }
  62. config, err := web.AppConfig.GetSection(RunMode)
  63. if err != nil {
  64. panic("配置文件读取错误 " + err.Error())
  65. }
  66. beeLogger.Log.Info(RunMode + " 模式")
  67. MYSQL_URL = config["mysql_url"]
  68. MYSQL_URL_DATA = config["mysql_url_data"]
  69. MYSQL_URL_EDB = config["mysql_url_edb"]
  70. REDIS_CACHE = config["beego_cache"]
  71. if len(REDIS_CACHE) <= 0 {
  72. panic("redis链接参数没有配置")
  73. }
  74. //Rc, Re = cache.NewCache(REDIS_CACHE) //初始化缓存
  75. //if Re != nil {
  76. // fmt.Println(Re)
  77. // panic(Re)
  78. //}
  79. // 初始化缓存
  80. redisClient, err := initRedis(config["redis_type"], config["beego_cache"])
  81. if err != nil {
  82. fmt.Println("redis链接异常:", err)
  83. panic(any(Re))
  84. }
  85. Rc = redisClient
  86. // 项目中文名称
  87. appNameCn, err := web.AppConfig.String("app_name_cn")
  88. if err != nil {
  89. panic(any("配置文件读取app_name_cn错误 " + err.Error()))
  90. }
  91. APPNAME = appNameCn
  92. // 邮件提醒人员
  93. EmailSendToUsers = config["email_send_to_users"]
  94. // 报警服务地址
  95. AlarmMsgUrl = config["alarm_msg_url"]
  96. // 公共api内部服务调用
  97. {
  98. // 公共指标库相关
  99. EDB_LIB_URL = config["edb_lib_url"]
  100. APP_EDB_LIB_NAME_EN = config["app_edb_lib_name_en"]
  101. EDB_LIB_Md5_KEY = config["edb_lib_md5_key"]
  102. }
  103. //日志配置
  104. {
  105. LogPath = config["log_path"]
  106. LogFile = config["log_file"]
  107. BinLogPath = config["binlog_path"]
  108. BinLogFile = config["binlog_file"]
  109. ApiLogPath = config["apilog_path"]
  110. ApiLogFile = config["apilog_file"]
  111. logMaxDaysStr := config["log_max_day"]
  112. LogMaxDays, _ = strconv.Atoi(logMaxDaysStr)
  113. }
  114. }
  115. //http://8.136.199.33:8608/swagger/
  116. //http://8.136.199.33:8608/v1