summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--msb2pilot/src/msb2pilot/conf/log.yml13
-rw-r--r--msb2pilot/src/msb2pilot/log/log.go13
-rw-r--r--msb2pilot/src/msb2pilot/log/log_test.go81
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)
+ }
+ }
+}