]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - log.go
safcm: add ParseLogLevel()
[safcm/safcm.git] / log.go
diff --git a/log.go b/log.go
index 029d975be89cf7247b749d9ba3bc1e73414160bb..6e063ceb12345526b269fc3960bec49d2e32beb9 100644 (file)
--- a/log.go
+++ b/log.go
 
 package safcm
 
+import (
+       "fmt"
+)
+
 // LogLevel controls the number of displayed log messages. Higher levels
 // include all messages from lower levels (e.g. LogVerbose includes all
 // messages from LogInfo).
@@ -37,3 +41,24 @@ const (
        // Log all RPC messages
        LogDebug3
 )
+
+func ParseLogLevel(s string) (LogLevel, error) {
+       var x LogLevel
+       switch s {
+       case "error":
+               x = LogError
+       case "info":
+               x = LogInfo
+       case "verbose":
+               x = LogVerbose
+       case "debug":
+               x = LogDebug
+       case "debug2":
+               x = LogDebug2
+       case "debug3":
+               x = LogDebug3
+       default:
+               return 0, fmt.Errorf("invalid LogLevel %q", s)
+       }
+       return x, nil
+}