add On() & Off() also Fprintln() & Fprintf()

This commit is contained in:
Jeff Carr 2025-09-06 15:23:22 -05:00
parent 8c7078908b
commit 854796ba72
4 changed files with 35 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# git remote add github git@github.com:wit-go/log.git # git remote add github git@github.com:wit-go/log.git
all: vet all: goimport vet
@#GO111MODULE=off go vet -x @#GO111MODULE=off go vet -x
@echo this go library builds ok @echo this go library builds ok

View File

@ -30,6 +30,8 @@ import (
"sync" "sync"
) )
var off bool // completely shut up until I tell you to talk again
var INFO *LogFlag // toggles log.Info() var INFO *LogFlag // toggles log.Info()
var VERBOSE *LogFlag // toggles log.Verbose() var VERBOSE *LogFlag // toggles log.Verbose()
var SPEW *LogFlag // toggles log.Spew() var SPEW *LogFlag // toggles log.Spew()

View File

@ -1,5 +1,7 @@
package log package log
import "io"
/* /*
import ( import (
"log" "log"
@ -81,6 +83,14 @@ func Sprintln(a ...any) string {
return realSprintln(a...) return realSprintln(a...)
} }
func Fprintln(w io.Writer, a ...any) (int, error) {
return realFprintln(w, a...)
}
func Fprintf(w io.Writer, s string, a ...any) (int, error) {
return realFprintf(w, s, a...)
}
func Fatalln(a ...any) { func Fatalln(a ...any) {
realFatalln(a...) realFatalln(a...)
} }

View File

@ -11,6 +11,14 @@ import (
"time" "time"
) )
func Off() {
off = true
}
func On() {
off = false
}
func DaemonMode(b bool) { func DaemonMode(b bool) {
daemonMode = b daemonMode = b
} }
@ -53,6 +61,9 @@ func DaemonShow() bool {
} }
func realPrintln(a ...any) { func realPrintln(a ...any) {
if off {
return
}
if daemonMode { if daemonMode {
// in daemon mode, don't put timestamps on each line // in daemon mode, don't put timestamps on each line
if captureMode == nil { if captureMode == nil {
@ -88,6 +99,9 @@ func realPrintln(a ...any) {
} }
func realPrintf(s string, a ...any) { func realPrintf(s string, a ...any) {
if off {
return
}
if daemonMode { if daemonMode {
// in daemon mode, don't put timestamps on each line // in daemon mode, don't put timestamps on each line
if captureMode == nil { if captureMode == nil {
@ -133,6 +147,14 @@ func realSprintln(a ...any) string {
return fmt.Sprintln(a...) return fmt.Sprintln(a...)
} }
func realFprintln(w io.Writer, a ...any) (int, error) {
return fmt.Fprintln(w, a...)
}
func realFprintf(w io.Writer, s string, a ...any) (int, error) {
return fmt.Fprintf(w, s, a...)
}
func realFatalln(a ...any) { func realFatalln(a ...any) {
reallog.Fatalln(a...) reallog.Fatalln(a...)
} }