diff options
Diffstat (limited to 'msb2pilot')
-rw-r--r-- | msb2pilot/src/msb2pilot/conf/log.yml | 13 | ||||
-rw-r--r-- | msb2pilot/src/msb2pilot/log/log.go | 13 | ||||
-rw-r--r-- | msb2pilot/src/msb2pilot/log/log_test.go | 81 |
3 files changed, 100 insertions, 7 deletions
diff --git a/msb2pilot/src/msb2pilot/conf/log.yml b/msb2pilot/src/msb2pilot/conf/log.yml new file mode 100644 index 0000000..f4038c4 --- /dev/null +++ b/msb2pilot/src/msb2pilot/conf/log.yml @@ -0,0 +1,13 @@ +# level: Emergency, Alert, Critical, Error, Warn, Notice, Info and Debug
+console:
+ level: Debug
+
+file:
+ filename: msb2pilot.log
+ level: Info
+ maxlines: 300000
+ #metric:M
+ maxsize: 20
+ daily: false
+ maxdays: 3
+ rotate: true
diff --git a/msb2pilot/src/msb2pilot/log/log.go b/msb2pilot/src/msb2pilot/log/log.go index 8f1b4c4..10c808b 100644 --- a/msb2pilot/src/msb2pilot/log/log.go +++ b/msb2pilot/src/msb2pilot/log/log.go @@ -9,13 +9,14 @@ * Contributors: * ZTE - initial Project */ - package log import ( "encoding/json" "fmt" + "msb2pilot/util" "os" + "path/filepath" "strconv" "strings" @@ -96,10 +97,8 @@ func checkLogDir(path string) { } } -func loadCustom() map[string]interface{} { - fullPath := filepath.Join("", cfgFileName) - fmt.Println("log config path is:" + fullPath) - config, err := util.Read(fullPath) +func loadCustom(path string) map[string]interface{} { + config, err := util.Read(path) if err != nil { fmt.Println("read config file error") return nil @@ -117,8 +116,8 @@ func loadCustom() map[string]interface{} { func getConfig() (result *Cfg) { result = getDefaultCfg() - - customs := loadCustom() + path := filepath.Join(util.GetCfgPath(), cfgFileName) + customs := loadCustom(path) if customs == nil { return diff --git a/msb2pilot/src/msb2pilot/log/log_test.go b/msb2pilot/src/msb2pilot/log/log_test.go new file mode 100644 index 0000000..816e10f --- /dev/null +++ b/msb2pilot/src/msb2pilot/log/log_test.go @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2018 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial Project + */ +package log + +import ( + "apiroute/util" + "os" + "strings" + "testing" +) + +func TestCheckLogDir(t *testing.T) { + pathSep := string(os.PathSeparator) + cases := []struct { + path string + exist bool + }{ + { + path: ``, + exist: false, + }, + { + path: `test.log`, + exist: false, + }, + { + path: `.` + pathSep + `test` + pathSep + `test.log`, + exist: true, + }, + } + + for _, cas := range cases { + checkLogDir(cas.path) + + index := strings.LastIndex(cas.path, pathSep) + if cas.exist && !util.FileExists(cas.path[0:index]) { + t.Errorf("checkLogDir() => dir not exist, want %s", cas.path) + } + } + + // clear + os.RemoveAll("test") +} + +func TestLoadCustom(t *testing.T) { + pathSep := string(os.PathSeparator) + cases := []struct { + path string + want string + }{ + { + path: `..` + pathSep + "conf" + pathSep + cfgFileName, + want: "success", + }, + { + path: ``, + want: "read file error", + }, + { + path: `log_test.go`, + want: "parse config file error", + }, + } + + for _, cas := range cases { + res := loadCustom(cas.path) + + if (res == nil && cas.want == "success") || (res != nil && cas.want != "success") { + t.Errorf("loadCustom() => want %s, got %v", cas.want, res) + } + } +} |