package config import ( "context" "encoding/json" "game/common/config" "game/common/constant" "github.com/fox/fox/db" "github.com/fox/fox/log" ) const ( gateKey = "gate_config" gateAddress1 = "0.0.0.0:5100" gateAddress2 = "0.0.0.0:5101" ) var Command *config.Command var Cfg *config.Common var GateCfg = &GateConfig{} type GateConfig struct { Address []string `json:"address"` // 网关地址 } func InitLog() { log.Open("./log/gate.log", log.DebugL) log.Info("") log.Info("") log.Info("") log.Info("-----init log success-----") } func LoadConfig(GitCommit, GitBranch, BuildDate string) { Command = config.ParseCommand() rdb, err := db.InitRedis(Command.RedisPassword, Command.RedisHost, Command.RedisPort, constant.Redis0Config) if err != nil { log.Error(err.Error()) return } defer func() { _ = rdb.Close() }() Cfg, err = config.LoadCommonConfig(rdb, GitCommit, GitBranch, BuildDate) if err != nil { log.Error(err.Error()) return } if err = config.LoadGameConfig(rdb, gateKey, Cfg); err != nil { log.DebugF("load config:empty etcd key") GateCfg = &GateConfig{ Address: []string{gateAddress1, gateAddress2}, } if bs, err := json.Marshal(GateCfg); err == nil { err = rdb.Set(context.Background(), gateKey, string(bs), 0).Err() } } else { _ = json.Unmarshal([]byte(Cfg.GameJson), GateCfg) } log.DebugF("load common config success") _ = Cfg }