X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync.go;h=f1877cffde6b9b42b18955587192a19fda43127d;hb=ecbcb0132728cc18016819a214378b642d92278e;hp=c1ecc965eec221828788f2bf68acd1481f08d78e;hpb=c899e17495d4eb932e0b4f428ec91882d845f1bc;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/sync.go b/cmd/safcm/sync.go index c1ecc96..f1877cf 100644 --- a/cmd/safcm/sync.go +++ b/cmd/safcm/sync.go @@ -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) @@ -227,11 +214,11 @@ are only available after the hosts were contacted. func logEvent(x frontend.Event, level safcm.LogLevel, isTTY bool, failed *bool) { // We have multiple event sources so this is somewhat ugly. var prefix, data string - var color Color + var color frontend.Color if x.Error != nil { prefix = "[error]" data = x.Error.Error() - color = ColorRed + color = frontend.ColorRed // We logged an error, tell the caller *failed = true } else if x.Log.Level != 0 { @@ -250,7 +237,7 @@ func logEvent(x frontend.Event, level safcm.LogLevel, isTTY bool, failed *bool) prefix = "[debug2]" default: prefix = fmt.Sprintf("[INVALID=%d]", x.Log.Level) - color = ColorRed + color = frontend.ColorRed } data = x.Log.Text } else { @@ -267,19 +254,19 @@ func logEvent(x frontend.Event, level safcm.LogLevel, isTTY bool, failed *bool) x.ConnEvent.Data = "remote helper upload in progress" default: prefix = fmt.Sprintf("[INVALID=%d]", x.ConnEvent.Type) - color = ColorRed + color = frontend.ColorRed } data = x.ConnEvent.Data } host := x.Host.Name() if color != 0 { - host = ColorString(isTTY, color, host) + host = frontend.ColorString(isTTY, color, host) } // Make sure to escape control characters to prevent terminal // injection attacks if !x.Escaped { - data = EscapeControlCharacters(isTTY, data) + data = frontend.EscapeControlCharacters(isTTY, data) } log.Printf("%-9s [%s] %s", prefix, host, data) }