From 9d075afb1df62276dea06be4a188eaee8fc69420 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 3 Dec 2023 16:08:39 -0600 Subject: clean and rename examples fix syntax try new goreadme remove autogenerated go readme.md Signed-off-by: Jeff Carr --- examples/buttons/log.go | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 examples/buttons/log.go (limited to 'examples/buttons/log.go') diff --git a/examples/buttons/log.go b/examples/buttons/log.go new file mode 100644 index 0000000..7d65d05 --- /dev/null +++ b/examples/buttons/log.go @@ -0,0 +1,78 @@ +// This creates a simple hello world window +package main + +import ( + "fmt" + arg "github.com/alexflint/go-arg" + "git.wit.org/wit/gui" + log "git.wit.org/wit/gui/log" +) + + +var args struct { + Foo string + Bar bool + User string `arg:"env:USER"` + Demo bool `help:"run a demo"` + gui.GuiArgs + log.LogArgs +} + +/* +var f1 *os.File +var f2 *os.File +var err error +*/ + +func init() { + arg.MustParse(&args) + fmt.Println(args.Foo, args.Bar, args.User) + + if (args.Gui != "") { + gui.GuiArg.Gui = args.Gui + } + log.Log(true, "INIT() args.GuiArg.Gui =", gui.GuiArg.Gui) + +/* + log.Println() + log.Println("STDOUT is now at /tmp/guilogfile") + log.Println("STDOUT is now at /tmp/guilogfile") + log.Println() + f1, err = os.OpenFile(outfile, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666) + if err != nil { + log.Fatalf("error opening file: %v", err) + } + // hmm. is there a trick here or must this be in main() + // defer f.Close() + + log.SetOutput(f1) + log.Println("This is a test log entry") +*/ +} + +/* +func captureSTDOUT() { + f2, _ = os.OpenFile("/tmp/my.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0664) + multiWriter := io.MultiWriter(os.Stderr, f2) + rd, wr, err := os.Pipe() + if err != nil { + os.Exit(1) + } + + // overwrite os.Stdout + os.Stderr = wr + + go func() { + scanner := bufio.NewScanner(rd) + for scanner.Scan() { + stdoutLine := scanner.Text() + multiWriter.Write([]byte(stdoutLine + "\n")) + } + }() + + fmt.Println("foobar") + + // hacky sleep to ensure the go routine can write before program exits + time.Sleep(time.Second) +} +*/ -- cgit v1.2.3