Files
warewulf/internal/pkg/wwlog/wwlog.go
Ian Kaneshiro 846b45524c Tidy up
- Ran goimports to format code and imports
- Removed unused module from go.mod
- Added .editorconfig to keep formatting standard across contributors
2021-02-16 11:54:12 -08:00

71 lines
1.2 KiB
Go

package wwlog
import (
"log"
"strings"
)
const (
CRITICAL = 0
ERROR = 1
WARN = 2
INFO = 3
VERBOSE = 4
DEBUG = 5
)
var (
logLevel = INFO
Indent string
)
func SetLevel(level int) {
logLevel = level
if level == DEBUG {
log.SetFlags(log.Lmicroseconds)
} else {
log.SetFlags(0)
}
Printf(DEBUG, "Set log level to: %d\n", logLevel)
}
func SetIndent(i int) {
Indent = strings.Repeat(" ", i)
}
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 Println(level int, message string) {
if level <= logLevel {
prefixLevel(level)
log.Println(message)
}
log.SetPrefix("[LOG] " + Indent)
}
func Printf(level int, message string, a ...interface{}) {
if level <= logLevel {
prefixLevel(level)
log.Printf(message, a...)
}
log.SetPrefix("[LOG] " + Indent)
}