package config import ( "fmt" "goutil/configUtil" "goutil/debugUtil" "goutil/logUtil" ) var ( configManager = configMgr.NewConfigManager() ) func init() { // 优先加基础配置 configManager.RegisterInitFunc(initBaseConfig) configManager.RegisterInitFunc(initDBConfig) configManager.RegisterInitFunc(initMonitorConfig) } func init() { // 设置日志文件的存储目录 logUtil.SetLogPath("LOG") if err := reload(); err != nil { panic(fmt.Errorf("初始化配置文件失败,错误信息为:%s", err)) } // 注册重新加载的方法 reloadMgr.RegisterReloadFunc("config.reload", reload) } func reload() error { // 读取配置文件内容 configObj := configUtil.NewXmlConfig() err := configObj.LoadFromFile("config.xml") if err != nil { return err } debug, err := configObj.Bool("root/DEBUG", "") if err != nil { return err } // 设置debugUtil的状态 debugUtil.SetDebug(debug) // 调用所有已经注册的配置初始化方法 if err := configManager.Init(configObj); err != nil { return err } return nil }