57 lines
1.0 KiB
Go
57 lines
1.0 KiB
Go
|
|
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
|
||
|
|
}
|