X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=log.go;h=79c573cae79e4e27e786e8faa5f067a5df20c11a;hb=refs%2Fheads%2Fmaster;hp=029d975be89cf7247b749d9ba3bc1e73414160bb;hpb=f2f2bc47e8729548f3c10117f7f008b547c4afc5;p=safcm%2Fsafcm.git diff --git a/log.go b/log.go index 029d975..79c573c 100644 --- a/log.go +++ b/log.go @@ -1,22 +1,14 @@ // RPC primitives for safcm: logging constants -// Copyright (C) 2021 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 -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . +// SPDX-License-Identifier: GPL-3.0-or-later +// Copyright (C) 2021-2024 Simon Ruderich 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 +29,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 +}