zhangmeng
2019-12-11 4a97826d1e2d4f9a7130aeffb5c5f337ca205835
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package util
 
import (
    "os"
    "strings"
 
    "github.com/spf13/viper"
)
 
// GetIpcAddress get ipc
func GetIpcAddress(shm bool, id string) string {
    if shm {
        return id
    }
    return `ipc:///tmp/` + id + `.ipc`
}
 
// SetParams 收集参数
func SetParams(param string) {
    RunParams = append(RunParams, param)
}
 
// FillParams 填充MapParams
func FillParams(key, value string) {
    MapParames[key] = value
}
 
// GetParams 获取slave params
func GetParams() *[]string {
    // if len(RunParams) == 0 {
    //     for k, v := range MapParames {
    //         param := "-" + k + "=" + v
    //         RunParams = append(RunParams, param)
    //     }
    // }
    // return &RunParams
 
    var params []string
    for _, v := range RunParams {
        params = append(params, v)
    }
    for k, v := range MapParames {
        param := "-" + k + "=" + v
        params = append(params, param)
    }
    return &params
}
 
// 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 (
        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-"
    }
 
}