package util
|
|
import (
|
"fmt"
|
"io/ioutil"
|
"os"
|
"strings"
|
|
"github.com/olebedev/config"
|
)
|
|
// FillParams 填充MapParams
|
func FillParams(key, value string) {
|
MapParames[key] = value
|
}
|
|
// FindStringInArray find
|
func FindStringInArray(str string, array []string) (string, bool) {
|
found := false
|
ret := ""
|
for _, v := range array {
|
if strings.EqualFold(str, v) {
|
found = true
|
ret = v
|
break
|
}
|
}
|
return ret, found
|
}
|
|
// IsFileExist file exist
|
func IsFileExist(path string) bool {
|
_, err := os.Stat(path)
|
if err != nil {
|
if os.IsNotExist(err) {
|
return false
|
}
|
}
|
return true
|
}
|
|
// InitConfig 读取配置文件
|
func InitConfig() {
|
|
const (
|
configFileName = "pro.yaml"
|
LOGBASEPATH = "/data/disk1/valog/"
|
)
|
|
configFilePaths := []string{
|
"/opt/vasystem/config/",
|
"./",
|
}
|
|
LogFile = "./log/analysis-"
|
|
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)
|
|
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-"
|
} else {
|
LogFile = logPath + "/analysis-"
|
}
|
} else if IsFileExist(LOGBASEPATH) {
|
LogFile = LOGBASEPATH + "analysis-"
|
}
|
} 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-"
|
// }
|