蛋蛋星球RabbitMq消费项目
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

71 linhas
1.4 KiB

  1. package cfg
  2. import (
  3. "flag"
  4. "io/ioutil"
  5. "gopkg.in/yaml.v2"
  6. )
  7. // 配置文件数据,全局变量
  8. var (
  9. Debug bool
  10. Prd bool
  11. CurlDebug bool
  12. RedisAddr string
  13. RedisPassword string
  14. DB *DBCfg
  15. BackUpDb *BackUpDBCfg
  16. IMDB *DBCfg
  17. MQ *MQCfg
  18. ES *ESCfg
  19. Log *LogCfg
  20. ImLogicRpc *ImLogicRpcCfg
  21. ImBusinessRpc *ImBusinessRpcCfg
  22. )
  23. // 初始化配置文件,将cfg.yml读入到内存
  24. func InitCfg() {
  25. //用指定的名称、默认值、使用信息注册一个string类型flag。
  26. path := flag.String("c", "etc/cfg.yml", "config file")
  27. //解析命令行参数写入注册的flag里。
  28. //解析之后,flag的值可以直接使用。
  29. flag.Parse()
  30. var (
  31. c []byte
  32. err error
  33. conf *Config
  34. )
  35. if c, err = ioutil.ReadFile(*path); err != nil {
  36. panic(err)
  37. }
  38. //yaml.Unmarshal反序列化映射到Config
  39. if err = yaml.Unmarshal(c, &conf); err != nil {
  40. panic(err)
  41. }
  42. //数据读入内存
  43. Prd = conf.Prd
  44. Debug = conf.Debug
  45. CurlDebug = conf.CurlDebug
  46. DB = &conf.DB
  47. IMDB = &conf.ImDB
  48. BackUpDb = &conf.BackUpDb
  49. Log = &conf.Log
  50. RedisAddr = conf.RedisAddr
  51. MQ = &conf.MQ
  52. RedisPassword = conf.RedisPassword
  53. ES = &conf.ES
  54. ImLogicRpc = &conf.ImLogicRpc
  55. ImBusinessRpc = &conf.ImBusinessRpc
  56. }
  57. type ImLogicRpcCfg struct {
  58. URL string `yaml:"url"`
  59. PORT string `yaml:"port"`
  60. }
  61. type ImBusinessRpcCfg struct {
  62. URL string `yaml:"url"`
  63. PORT string `yaml:"port"`
  64. }