config.go 3.1 KB

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