From d5aeb6c0bccf6ede1a36787aaf45f120b0142b77 Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Tue, 28 May 2024 08:59:06 +0200 Subject: [PATCH] visualizer: make it optional to dup JSON to file --- impl/utils/visualizer/main.go | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/impl/utils/visualizer/main.go b/impl/utils/visualizer/main.go index c2b0b21..4cfc454 100644 --- a/impl/utils/visualizer/main.go +++ b/impl/utils/visualizer/main.go @@ -24,9 +24,9 @@ import ( var static embed.FS func main() { - if len(os.Args) != 3 { + if len(os.Args) != 2 && len(os.Args) != 3 { log.SetFlags(0) - log.Fatalf("usage: %s ", os.Args[0]) + log.Fatalf("usage: %s []", os.Args[0]) } var mutex sync.Mutex @@ -35,15 +35,21 @@ func main() { go func() { for { path := os.Args[1] - dupPath := os.Args[2] + "." + time.Now().Format(time.RFC3339) + var dupPath string + if len(os.Args) == 3 { + dupPath = os.Args[2] + "." + time.Now().Format(time.RFC3339) + } fh, err := os.Open(path) if err != nil { log.Fatal(err) } - dupFh, err := os.Create(dupPath) - if err != nil { - log.Fatal(err) + var dupFh *os.File + if dupPath != "" { + dupFh, err = os.Create(dupPath) + if err != nil { + log.Fatal(err) + } } r := bufio.NewReader(fh) @@ -56,9 +62,11 @@ func main() { // Duplicate JSON input to a file so it can be replayed later // if necessary - _, err = dupFh.WriteString(line) - if err != nil { - log.Fatalf("write %q: %v", dupPath, err) + if dupFh != nil { + _, err = dupFh.WriteString(line) + if err != nil { + log.Fatalf("write %q: %v", dupPath, err) + } } // Send to all listeners @@ -73,9 +81,11 @@ func main() { if err != nil { log.Fatalf("close %q: %v", path, err) } - err = dupFh.Close() - if err != nil { - log.Fatalf("close %q: %v", dupPath, err) + if dupFh != nil { + err = dupFh.Close() + if err != nil { + log.Fatalf("close %q: %v", dupPath, err) + } } } }()