]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - log.go
Update copyright years
[safcm/safcm.git] / log.go
diff --git a/log.go b/log.go
index 029d975be89cf7247b749d9ba3bc1e73414160bb..3478c590c838d93be68acc01d53b0d6a7a2623c2 100644 (file)
--- a/log.go
+++ b/log.go
@@ -1,6 +1,6 @@
 // RPC primitives for safcm: logging constants
 
-// Copyright (C) 2021  Simon Ruderich
+// Copyright (C) 2021-2023  Simon Ruderich
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 
 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
+}