add debug logging to cli client

* log the stdout & stderr buffers in case debug logging is enabled.

see #412
This commit is contained in:
Bernhard B
2023-10-05 18:02:57 +02:00
parent 6f269d3e1d
commit bc74d4cb48

View File

@@ -83,9 +83,10 @@ func (s *CliClient) Execute(wait bool, args []string, stdin string) (string, err
cmd.Stdin = strings.NewReader(stdin)
}
if wait {
var combinedOutput bytes.Buffer
cmd.Stdout = &combinedOutput
cmd.Stderr = &combinedOutput
var stdoutBuffer bytes.Buffer
var stderrBuffer bytes.Buffer
cmd.Stdout = &stdoutBuffer
cmd.Stderr = &stderrBuffer
err := cmd.Start()
if err != nil {
@@ -105,11 +106,17 @@ func (s *CliClient) Execute(wait bool, args []string, stdin string) (string, err
return "", errors.New("process killed as timeout reached")
case err := <-done:
if err != nil {
return "", errors.New(combinedOutput.String())
combinedOutput := stdoutBuffer.String() + " " + stderrBuffer.String()
log.Debug("signal-cli output (stdout): ", stdoutBuffer.String())
log.Debug("signal-cli output (stderr): ", stderrBuffer.String())
return "", errors.New(combinedOutput)
}
}
return combinedOutput.String(), nil
combinedOutput := stdoutBuffer.String() + " " + stderrBuffer.String()
log.Debug("signal-cli output (stdout): ", stdoutBuffer.String())
log.Debug("signal-cli output (stderr): ", stderrBuffer.String())
return combinedOutput, nil
} else {
stdout, err := cmd.StdoutPipe()
if err != nil {