From 5d4871d5e4252330c84170c24d9fbbfb4b36a80e Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期一, 23 十二月 2019 10:09:53 +0800 Subject: [PATCH] remove viper deps too much --- util/common.go | 72 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 11 deletions(-) diff --git a/util/common.go b/util/common.go index c218ff2..0ed45b1 100644 --- a/util/common.go +++ b/util/common.go @@ -1,10 +1,12 @@ package util import ( + "fmt" + "io/ioutil" "os" "strings" - "github.com/spf13/viper" + "github.com/olebedev/config" ) // FillParams 濉厖MapParams @@ -41,22 +43,41 @@ func InitConfig() { const ( - configFilePath = "/opt/vasystem/config/" - configFileName = "pro" - configFileType = "yaml" + configFileName = "pro.yaml" LOGBASEPATH = "/data/disk1/valog/" ) - viper.SetConfigType(configFileType) - viper.SetConfigName(configFileName) - viper.AddConfigPath(configFilePath) - viper.AddConfigPath("./") + configFilePaths := []string{ + "/opt/vasystem/config/", + "./", + } LogFile = "./log/analysis-" - if err := viper.ReadInConfig(); err == nil { + var file []byte + var err error + var fileName string + for _, v := range configFilePaths { + fileName = v + configFileName + file, err = ioutil.ReadFile(fileName) + if err == nil { + break + } + } + if file == nil { + fmt.Println("Read All Config Files Failed, Use Default, example LogFile ./log/analysis-'type'") + return + } + yamlString := string(file) - logPath := viper.GetString("LogBasePath") + cfg, err := config.ParseYaml(yamlString) + if err != nil { + fmt.Println("Config Parse File: ", fileName, " Error: ", err) + return + } + logPath, err := cfg.String("LogBasePath") + + if err == nil { if len(logPath) > 0 && IsFileExist(logPath) { if logPath[len(logPath)-1] == '/' { LogFile = logPath + "analysis-" @@ -69,5 +90,34 @@ } else if IsFileExist(LOGBASEPATH) { LogFile = LOGBASEPATH + "analysis-" } - } + +// const ( +// configFilePath = "/opt/vasystem/config/" +// configFileName = "pro" +// configFileType = "yaml" +// LOGBASEPATH = "/data/disk1/valog/" +// ) + +// viper.SetConfigType(configFileType) +// viper.SetConfigName(configFileName) +// viper.AddConfigPath(configFilePath) +// viper.AddConfigPath("./") + +// LogFile = "./log/analysis-" + +// if err := viper.ReadInConfig(); err == nil { + +// logPath := viper.GetString("LogBasePath") +// if len(logPath) > 0 && IsFileExist(logPath) { +// if logPath[len(logPath)-1] == '/' { +// LogFile = logPath + "analysis-" +// } else { +// LogFile = logPath + "/analysis-" +// } +// } else if IsFileExist(LOGBASEPATH) { +// LogFile = LOGBASEPATH + "analysis-" +// } +// } else if IsFileExist(LOGBASEPATH) { +// LogFile = LOGBASEPATH + "analysis-" +// } -- Gitblit v1.8.0