diff --git a/common/config.go b/common/config.go index 9c257de090a101ed685db2561f7a80a57d6c7710..5fd294cec1c32d0c2046189883e3b1baaaa7ebc7 100644 --- a/common/config.go +++ b/common/config.go @@ -25,6 +25,7 @@ import ( "io" "io/ioutil" "os" + "path/filepath" "regexp" "runtime" "strings" @@ -376,10 +377,10 @@ func FormatDSN(env *dsn) string { // SoarVersion soar version information func SoarVersion() { - fmt.Println("Version:", Version) - fmt.Println("Branch:", Branch) - fmt.Println("Compile:", Compile) - fmt.Println("GitDirty:", GitDirty) + //fmt.Println("Version:", Version) + //fmt.Println("Branch:", Branch) + //fmt.Println("Compile:", Compile) + //fmt.Println("GitDirty:", GitDirty) } // 因为vitess sqlparser 使用了 glog 中也会使用 flag,为了不让用户困扰我们单独写一个 usage @@ -588,21 +589,14 @@ func readCmdFlags() error { Config.SamplingStatisticTarget = *samplingStatisticTarget Config.ConnTimeOut = *connTimeOut Config.QueryTimeOut = *queryTimeOut - Config.LogLevel = *logLevel - if strings.HasPrefix(*logOutput, "/") { + + if filepath.IsAbs(*logOutput) || BaseDir == "" { Config.LogOutput = *logOutput } else { - if BaseDir == "" { - Config.LogOutput = *logOutput - } else { - if runtime.GOOS == "windows" { - Config.LogOutput = *logOutput - } else { - Config.LogOutput = BaseDir + "/" + *logOutput - } - } + Config.LogOutput = filepath.Join(BaseDir, *logOutput) } + Config.ReportType = strings.ToLower(*reportType) Config.ReportCSS = *reportCSS Config.ReportJavascript = *reportJavascript @@ -612,12 +606,13 @@ func readCmdFlags() error { Config.IgnoreRules = strings.Split(*ignoreRules, ",") Config.RewriteRules = strings.Split(*rewriteRules, ",") *blackList = strings.TrimSpace(*blackList) - if strings.HasPrefix(*blackList, "/") || *blackList == "" { + + if filepath.IsAbs(*blackList) || *blackList == "" { Config.BlackList = *blackList } else { - pwd, _ := os.Getwd() - Config.BlackList = pwd + "/" + *blackList + Config.BlackList = filepath.Join(BaseDir, *blackList) } + Config.MaxJoinTableCount = *maxJoinTableCount Config.MaxGroupByColsCount = *maxGroupByColsCount Config.MaxDistinctCount = *maxDistinctCount @@ -691,8 +686,8 @@ func ParseConfig(configFile string) error { if configFile == "" { configs = []string{ "/etc/soar.yaml", - BaseDir + "/etc/soar.yaml", - BaseDir + "/soar.yaml", + filepath.Join(BaseDir, "etc", "soar.yaml"), + filepath.Join(BaseDir, "soar.yaml"), } } else { configs = []string{