- Ran goimports to format code and imports - Removed unused module from go.mod - Added .editorconfig to keep formatting standard across contributors
71 lines
1.2 KiB
Go
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)
|
|
}
|