From 72d75ee4786d3b0379b45dbbbddf3b80393005d7 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 13 Nov 2024 21:31:55 -0600 Subject: attempt 'capture' mode --- reallog.go | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'reallog.go') diff --git a/reallog.go b/reallog.go index 347db85..3c565a3 100644 --- a/reallog.go +++ b/reallog.go @@ -7,12 +7,17 @@ import ( "fmt" reallog "log" "net/http" + "os" ) func DaemonMode(b bool) { daemonMode = b } +func CaptureMode(f *os.File) { + captureMode = f +} + func HttpMode(w http.ResponseWriter) { httpMode = w } @@ -27,9 +32,18 @@ func DaemonShow() { func realPrintln(a ...any) { if daemonMode { - fmt.Println(a...) + if captureMode == nil { + fmt.Println(a...) + } else { + fmt.Fprintln(captureMode, a...) + } } else { - reallog.Println(a...) + if captureMode == nil { + fmt.Println(a...) + } else { + // TODO: add datestamp + fmt.Fprintln(captureMode, a...) + } } if httpMode != nil { s := fmt.Sprint(a...) @@ -39,9 +53,17 @@ func realPrintln(a ...any) { func realPrintf(s string, a ...any) { if daemonMode { - fmt.Printf(s, a...) + if captureMode == nil { + fmt.Printf(s, a...) + } else { + fmt.Fprintf(captureMode, s, a...) + } } else { - reallog.Printf(s, a...) + if captureMode == nil { + reallog.Printf(s, a...) + } else { + fmt.Fprintf(captureMode, s, a...) + } } if httpMode != nil { fmt.Fprintln(httpMode, fmt.Sprintf(s, a...)) -- cgit v1.2.3