123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package core
- import (
- "fmt"
- "github.com/fsnotify/fsnotify"
- "github.com/spf13/viper"
- "hongze/hongze_yb/global"
- "hongze/hongze_yb/utils"
- )
- const ConfigFile = "config/config.yaml" //本地(测试)环境下的配置文件地址
- const ProConfigFile = "/home/code/config/hongze_yb/config/config.yaml" //生产环境下的配置文件地址
- func init() {
- v := viper.New()
- configFilePath := ConfigFile
- //如果不存在该配置文件,那么应该是线上环境,那么去寻找线上配置文件的路径
- if !utils.FileIsExist(configFilePath) {
- configFilePath = ProConfigFile
- }
- //设置配置文件
- v.SetConfigFile(configFilePath)
- err := v.ReadInConfig()
- if err != nil {
- panic(fmt.Errorf("读取配置失败,Err: %s \n", err))
- }
- //持续监听文件
- v.WatchConfig()
- v.OnConfigChange(func(e fsnotify.Event) {
- fmt.Println("配置文件变更:", e.Name)
- if err := v.Unmarshal(&global.CONFIG); err != nil {
- fmt.Println("配置重赋值失败,Err:", err)
- }
- fmt.Println(global.CONFIG)
- })
- if err := v.Unmarshal(&global.CONFIG); err != nil {
- fmt.Println("配置初始化赋值失败,Err:", err)
- }
- }
|