diff --git a/Makefile b/Makefile index 53efc9f1..0c841da9 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ RELEASE ?= 1 SRC ?= main -VERSION_FULL ?= $(shell test -e .git && git describe --tags --long --first-parent) +VERSION_FULL ?= $(shell test -e .git && git describe --tags --long --first-parent --always) ifeq ($(VERSION_FULL),) VERSION_FULL := $(VERSION) endif diff --git a/internal/pkg/node/constructors.go b/internal/pkg/node/constructors.go index 92c18107..13952237 100644 --- a/internal/pkg/node/constructors.go +++ b/internal/pkg/node/constructors.go @@ -2,7 +2,6 @@ package node import ( "errors" - "fmt" "io/ioutil" "sort" "strings" @@ -16,10 +15,9 @@ var ConfigFile = "/etc/warewulf/nodes.conf" func New() (nodeYaml, error) { var ret nodeYaml - wwlog.Printf(wwlog.DEBUG, "Opening node configuration file: %s\n", ConfigFile) + wwlog.Printf(wwlog.VERBOSE, "Opening node configuration file: %s\n", ConfigFile) data, err := ioutil.ReadFile(ConfigFile) if err != nil { - fmt.Printf("error reading node configuration file\n") return ret, err } diff --git a/internal/pkg/warewulfd/util.go b/internal/pkg/warewulfd/util.go index 840b1ef1..be8214f8 100644 --- a/internal/pkg/warewulfd/util.go +++ b/internal/pkg/warewulfd/util.go @@ -36,10 +36,11 @@ func daemonLogf(message string, a ...interface{}) { } log.SetOutput(logwriter) loginit = true + + log.SetFlags(0) + log.SetPrefix("") } - log.SetFlags(0) - log.SetPrefix("") log.Printf(message, a...) } else { diff --git a/internal/pkg/wwlog/wwlog.go b/internal/pkg/wwlog/wwlog.go index c5b84b5a..8eba3ade 100644 --- a/internal/pkg/wwlog/wwlog.go +++ b/internal/pkg/wwlog/wwlog.go @@ -1,8 +1,8 @@ package wwlog import ( - "log" - "strings" + "fmt" + "os" ) const ( @@ -16,55 +16,48 @@ const ( var ( logLevel = INFO - Indent string ) func SetLevel(level int) { logLevel = level - if level == DEBUG { - log.SetFlags(log.LstdFlags | log.Lmicroseconds | log.Lmsgprefix) - } else { - log.SetFlags(0) - } - Printf(DEBUG, "Set log level to: %d\n", logLevel) } -func SetIndent(i int) { - Indent = strings.Repeat(" ", i) +func prefixGen(level int) string { + switch level { + case DEBUG: + return "[DEBUG] : " + case VERBOSE: + return "[VERBOSE] : " + case INFO: + return "[INFO] : " + case WARN: + return "[WARNING] : " + case ERROR: + return "[ERROR] : " + case CRITICAL: + return "[CRITICAL]: " + } + return "[UNDEF] : " } -func prefixLevel(level int) { - if level == DEBUG { - log.SetPrefix("[DEBUG] " + Indent) - } else if level == VERBOSE { - log.SetPrefix("[VERBOSE] " + Indent) - } else if level == INFO { - log.SetPrefix("[INFO] " + Indent) - } else if level == WARN { - log.SetPrefix("[WARN] " + Indent) - } else if level == ERROR { - log.SetPrefix("[ERROR] " + Indent) - } else if level == CRITICAL { - log.SetPrefix("[CRITICAL] " + Indent) +func printlog(level int, message string) { + if level == INFO && logLevel <= INFO { + fmt.Print(message) + } else if level <= logLevel { + if level < INFO { + fmt.Fprintf(os.Stderr, prefixGen(level)+message) + } else { + fmt.Printf(prefixGen(level) + message) + } } } func Println(level int, message string) { - if level <= logLevel { - prefixLevel(level) - log.Println(message) - } - - log.SetPrefix("[LOG] " + Indent) + printlog(level, message) } func Printf(level int, message string, a ...interface{}) { - if level <= logLevel { - prefixLevel(level) - log.Printf(message, a...) - } - - log.SetPrefix("[LOG] " + Indent) + printlog(level, fmt.Sprintf(message, a...)) }