From 1a7a8f2b362e52234f40cb854395d5a1778afcaa Mon Sep 17 00:00:00 2001 From: Ashritha Goramane Date: Wed, 11 Sep 2024 16:28:25 -0700 Subject: [PATCH] When debug is true the output to log files fail --- venv.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/venv.go b/venv.go index 3667162..677bf22 100644 --- a/venv.go +++ b/venv.go @@ -202,16 +202,27 @@ func (c VenvCommand) Run() VenvCommandRunOutput { CommandOutput.Error = errors.Wrap(err, "unable to start command") return CommandOutput } + + output := map[io.ReadCloser]*string{ + stdout: &CommandOutput.Stdout, + stderr: &CommandOutput.Stderr, + } - for _, stream := range []io.ReadCloser{stdout, stderr} { - go func(s io.ReadCloser) { + for stream, out := range output { + go func(s io.ReadCloser, o *string) { + var bufstdout bytes.Buffer + scanner := bufio.NewScanner(s) scanner.Split(bufio.ScanLines) + for scanner.Scan() { m := scanner.Text() fmt.Println(m) + bufstdout.WriteString(m) + bufstdout.WriteString("\n") } - }(stream) + *o = fmt.Sprint(bufstdout.String()) + }(stream, out) } if err := cmd.Wait(); err != nil {