mirror output to stdout and http

This commit is contained in:
Jeff Carr 2024-11-07 02:55:46 -06:00
parent ef61eb494b
commit 889ec714e1
2 changed files with 27 additions and 13 deletions

16
README.md Normal file
View File

@ -0,0 +1,16 @@
log
This is an attempt to modify the default golang 'log'.
Because the 'gui' toolkit could be either ncurses or something like gtk,
'log' is an attempt to be smart about changing STDOUT on the fly.
* add meaningful shortcuts like log.Info(), log.Warn(), log.Error() etc
* add flags to enable & disable output on a per-gomodule basis
* add http flag to switch stdout to http socket
* compatible with changing import 'log' to import 'go.wit.com/log'
* should also be compatible with changing import 'fmt' to import fmt 'go.wit.com/log'
Notes & Goals:
* be a complete droplet replacement for golang 'log'
* provide an example of how the stdlib 'log' could be changed

View File

@ -26,25 +26,23 @@ func DaemonShow() {
}
func realPrintln(a ...any) {
if httpMode == nil {
if daemonMode {
fmt.Println(a...)
} else {
reallog.Println(a...)
}
} else {
fmt.Fprintln(httpMode, a...)
if httpMode != nil {
fmt.Fprintln(httpMode, fmt.Sprint(a...))
}
}
func realPrintf(s string, a ...any) {
if httpMode == nil {
if daemonMode {
fmt.Printf(s, a...)
} else {
reallog.Printf(s, a...)
}
} else {
if httpMode != nil {
fmt.Fprintln(httpMode, fmt.Sprintf(s, a...))
}
}