From 2cf02ee2e5f155205b847805b1bdccb42fcfec00 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 12 Oct 2024 16:21:47 -0500 Subject: [PATCH] half working 'daemon mode' Signed-off-by: Jeff Carr --- error.go | 8 ++------ log.go | 10 +++------- original.go | 15 +++++---------- reallog.go | 43 +++++++++++++++++++++++++++++++++++++++++++ spew.go | 11 +++++------ warn.go | 6 +----- 6 files changed, 59 insertions(+), 34 deletions(-) create mode 100644 reallog.go diff --git a/error.go b/error.go index e19d2fd..2235ad5 100644 --- a/error.go +++ b/error.go @@ -4,12 +4,8 @@ package log -import ( - origlog "log" -) - func Error(err error, a ...any) { if ! ERROR.Get() { return } - origlog.Println("Error:", err) - origlog.Println(a...) + realPrintln("Error:", err) + realPrintln(a...) } diff --git a/log.go b/log.go index 87eb57e..5b436b6 100644 --- a/log.go +++ b/log.go @@ -4,10 +4,6 @@ package log -import ( - origlog "log" -) - /* a simple way turn logging messages on and off. The gui config @@ -29,16 +25,16 @@ func Log(f *LogFlag, a ...any) { if ! f.Ok() { // if the flag is NULL, notify the user they didn't initialize the flag a = append([]any{"FLAG = NULL"}, a...) - origlog.Println(a...) + realPrintln(a...) return } if ! f.Get() { return } a = append([]any{f.short}, a...) - origlog.Println(a...) + realPrintln(a...) } func Logf(f *LogFlag, s string, a ...any) { if ! f.Get() { return } s = f.short + " " + s - origlog.Printf(s, a...) + realPrintf(s, a...) } diff --git a/original.go b/original.go index 9836ff1..428e385 100644 --- a/original.go +++ b/original.go @@ -49,31 +49,26 @@ package log func (l *Logger) Writer() io.Writer */ - -import ( - origlog "log" -) - func Println(a ...any) { if ! PRINTLN.Ok() { return } if ! PRINTLN.b { return } - origlog.Println(a...) + realPrintln(a...) } func Printf(s string, a ...any) { if ! PRINTLN.Ok() { return } if ! PRINTLN.b { return } - origlog.Printf(s, a...) + realPrintf(s, a...) } func Fatalln(a ...any) { - origlog.Fatalln(a...) + realFatalln(a...) } func Fatalf(s string, a ...any) { - origlog.Fatalf(s, a...) + realFatalf(s, a...) } func Fatal(s string, a ...any) { - origlog.Fatalf(s, a...) + realFatalf(s, a...) } diff --git a/reallog.go b/reallog.go new file mode 100644 index 0000000..ec68547 --- /dev/null +++ b/reallog.go @@ -0,0 +1,43 @@ +package log + +// implements 'daemon' mode so switches to fmt +// instead of log so that timestamps are not printed twice + +import ( + "fmt" + reallog "log" +) + +var daemonMode bool = false + +func DaemonMode(b bool) { + daemonMode = b +} + +func realPrintln(a ...any) { + if daemonMode { + fmt.Println(a...) + } else { + reallog.Println(a...) + } +} + +func realPrintf(s string, a ...any) { + if daemonMode { + fmt.Printf(s, a...) + } else { + reallog.Printf(s, a...) + } +} + +func realFatalln(a ...any) { + reallog.Fatalln(a...) +} + +func realFatalf(s string, a ...any) { + reallog.Fatalf(s, a...) +} + +func realFatal(s string, a ...any) { + reallog.Fatalf(s, a...) +} diff --git a/spew.go b/spew.go index 9391343..15b28bf 100644 --- a/spew.go +++ b/spew.go @@ -5,7 +5,6 @@ package log import ( - origlog "log" "go.wit.com/dev/davecgh/spew" ) @@ -18,19 +17,19 @@ func Spew(b any, a ...any) { if ! b.(bool) { return } - origlog.Println("SPEW:", spew.Sdump(a...)) + realPrintln("SPEW:", spew.Sdump(a...)) case LogFlag: var f LogFlag f = b.(LogFlag) if ! f.b { return } - origlog.Println("SPEW:", spew.Sdump(a...)) + realPrintln("SPEW:", spew.Sdump(a...)) default: - origlog.Println("SPEW b:", spew.Sdump(b)) - origlog.Println("SPEW a:", spew.Sdump(a...)) + realPrintln("SPEW b:", spew.Sdump(b)) + realPrintln("SPEW a:", spew.Sdump(a...)) } - // origlog.Println("SPEW:", spew.Sdump(a...)) + // realPrintln("SPEW:", spew.Sdump(a...)) /* scs := spew.ConfigState{Indent: "\t", MaxDepth: 1} // Output using the ConfigState instance. diff --git a/warn.go b/warn.go index 3ec21f6..d02d301 100644 --- a/warn.go +++ b/warn.go @@ -4,12 +4,8 @@ package log -import ( - origlog "log" -) - func Warn(a ...any) { if ! WARN.Ok() { return } if ! WARN.b { return } - origlog.Println(a...) + realPrintln(a...) }