summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-04-24 08:30:40 -0500
committerJeff Carr <[email protected]>2023-04-24 08:30:40 -0500
commit7006281da1053661a50acec0bcb9aa94cbbcf199 (patch)
tree64e473e3b0d0d1d58109d31e60d91b0a4ccd9272
parentd38b05d2d5a2c2ff0c66b541f7d80cbd1c250d76 (diff)
hack some output. grab STDOUT damnit
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--log/log.go12
-rw-r--r--toolkit/gocui/log.go20
2 files changed, 24 insertions, 8 deletions
diff --git a/log/log.go b/log/log.go
index 9862291..d460539 100644
--- a/log/log.go
+++ b/log/log.go
@@ -23,6 +23,7 @@ import (
"runtime"
"runtime/pprof"
golog "log"
+ "fmt"
"time"
"reflect"
"github.com/davecgh/go-spew/spew"
@@ -42,6 +43,8 @@ var debugToolkit bool = false // does spew stuff?
var Where string = "gui/log"
+var externalLog func(...any)
+
type Spewt struct {
a bool
}
@@ -126,6 +129,11 @@ func Log(a ...any) {
}
golog.Println(a...)
+ if (externalLog == nil) {
+ // golog.Println(a...)
+ } else {
+ externalLog(fmt.Sprint(a...))
+ }
}
func loggo() {
@@ -147,3 +155,7 @@ func logindent(depth int, format string, a ...interface{}) {
func SetOutput(f *os.File) {
golog.SetOutput(f)
}
+
+func SetToolkitOutput(newLog func(...any)) {
+ externalLog = newLog
+}
diff --git a/toolkit/gocui/log.go b/toolkit/gocui/log.go
index b649eb9..e818814 100644
--- a/toolkit/gocui/log.go
+++ b/toolkit/gocui/log.go
@@ -19,6 +19,17 @@ var outputS []string
func log(a ...any) {
witlog.Where = "wit/gocui"
witlog.Log(a...)
+}
+
+func sleep(a ...any) {
+ witlog.Sleep(a...)
+}
+
+func exit(a ...any) {
+ witlog.Exit(a...)
+}
+
+func newLog(a ...any) {
s := fmt.Sprint(a...)
tmp := strings.Split(s, "\n")
outputS = append(outputS, tmp...)
@@ -34,14 +45,7 @@ func log(a ...any) {
}
}
-func sleep(a ...any) {
- witlog.Sleep(a...)
-}
-
-func exit(a ...any) {
- witlog.Exit(a...)
-}
-
func setOutput(f *os.File) {
witlog.SetOutput(f)
+ witlog.SetToolkitOutput(newLog)
}