2023-12-28 12:35:05 -06:00
|
|
|
package log
|
|
|
|
|
|
|
|
import (
|
2023-12-30 20:48:24 -06:00
|
|
|
"errors"
|
2023-12-28 12:35:05 -06:00
|
|
|
origlog "log"
|
|
|
|
)
|
|
|
|
|
2023-12-30 20:48:24 -06:00
|
|
|
var INFO bool = true
|
|
|
|
var WARN bool = true
|
|
|
|
var ERROR bool = true
|
|
|
|
|
2023-12-31 02:49:26 -06:00
|
|
|
var VERBOSE bool = false
|
|
|
|
var SPEW bool = false
|
|
|
|
|
2023-12-30 20:48:24 -06:00
|
|
|
func All(b bool) {
|
|
|
|
Set("SPEW", b)
|
|
|
|
Set("INFO", b)
|
|
|
|
Set("WARN", b)
|
|
|
|
Set("ERROR", b)
|
2023-12-31 02:49:26 -06:00
|
|
|
Set("VERBOSE", b)
|
2023-12-30 20:48:24 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
func Set(flag string, b bool) {
|
|
|
|
switch flag {
|
|
|
|
case "INFO":
|
|
|
|
INFO = b
|
|
|
|
case "WARN":
|
|
|
|
WARN = b
|
|
|
|
case "SPEW":
|
|
|
|
SPEW = b
|
|
|
|
case "ERROR":
|
|
|
|
ERROR = b
|
2023-12-31 02:49:26 -06:00
|
|
|
case "VERBOSE":
|
|
|
|
VERBOSE = b
|
2023-12-30 20:48:24 -06:00
|
|
|
default:
|
|
|
|
Error(errors.New("unknown flag"), "Flag name sent:", flag)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func Get(flag string) bool {
|
|
|
|
switch flag {
|
|
|
|
case "INFO":
|
|
|
|
return INFO
|
|
|
|
case "WARN":
|
|
|
|
return WARN
|
|
|
|
case "SPEW":
|
|
|
|
return SPEW
|
|
|
|
case "ERROR":
|
|
|
|
return ERROR
|
2023-12-31 02:49:26 -06:00
|
|
|
case "VERBOSE":
|
|
|
|
return VERBOSE
|
2023-12-30 20:48:24 -06:00
|
|
|
default:
|
|
|
|
Error(errors.New("unknown flag"), "Flag name sent:", flag)
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2023-12-31 02:49:26 -06:00
|
|
|
// a simple way turn logging messages on and off
|
|
|
|
func Log(b bool, a ...any) {
|
|
|
|
if ! b { return }
|
2023-12-31 05:00:13 -06:00
|
|
|
origlog.Println(a...)
|
2023-12-31 02:49:26 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
func Logf(b bool, s string, a ...any) {
|
|
|
|
if ! b { return }
|
2023-12-31 05:00:13 -06:00
|
|
|
origlog.Printf(s, a...)
|
2023-12-31 02:49:26 -06:00
|
|
|
}
|
|
|
|
|
2023-12-28 12:35:05 -06:00
|
|
|
func Println(a ...any) {
|
|
|
|
origlog.Println(a...)
|
|
|
|
}
|
2023-12-29 17:24:39 -06:00
|
|
|
|
2023-12-31 02:49:26 -06:00
|
|
|
func Printf(s string, a ...any) {
|
|
|
|
origlog.Printf(s, a...)
|
|
|
|
}
|
|
|
|
|
2023-12-29 17:24:39 -06:00
|
|
|
func Fatalf(s string, a ...any) {
|
|
|
|
origlog.Fatalf(s, a...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Fatal(s string, a ...any) {
|
|
|
|
origlog.Fatalf(s, a...)
|
|
|
|
}
|
2023-12-31 09:55:02 -06:00
|
|
|
|
|
|
|
// register a variable name from a subsystem
|
|
|
|
// this is used for custom log flags
|
|
|
|
func Register(subsystem string, name string) {
|
|
|
|
Info("log.Register() got subsystem", subsystem, "with name =", name)
|
|
|
|
}
|