]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm/sync.go
safcm: add ParseLogLevel()
[safcm/safcm.git] / cmd / safcm / sync.go
index c1ecc965eec221828788f2bf68acd1481f08d78e..10edc68755e98c81e2c890745d3e3f706d3a3691 100644 (file)
@@ -66,22 +66,9 @@ func MainSync(args []string) error {
 
        flag.CommandLine.Parse(args[2:])
 
-       var level safcm.LogLevel
-       switch *optionLog {
-       case "error":
-               level = safcm.LogError
-       case "info":
-               level = safcm.LogInfo
-       case "verbose":
-               level = safcm.LogVerbose
-       case "debug":
-               level = safcm.LogDebug
-       case "debug2":
-               level = safcm.LogDebug2
-       case "debug3":
-               level = safcm.LogDebug3
-       default:
-               return fmt.Errorf("invalid -log value %q", *optionLog)
+       level, err := safcm.ParseLogLevel(*optionLog)
+       if err != nil {
+               return fmt.Errorf("-log: %v", err)
        }
 
        names := flag.Args()
@@ -127,12 +114,12 @@ func MainSync(args []string) error {
        var hosts []frontend.Host
        for _, x := range toSync {
                s := &Sync{
-                               host:      x,
-                               config:    cfg,
-                               allHosts:  allHosts,
-                               allGroups: allGroups,
-                               isTTY:     isTTY,
-                       }
+                       host:      x,
+                       config:    cfg,
+                       allHosts:  allHosts,
+                       allGroups: allGroups,
+                       isTTY:     isTTY,
+               }
                s.logFunc = func(level safcm.LogLevel, escaped bool,
                        msg string) {
                        loop.Log(s, level, escaped, msg)