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) cmd.Stdin = strings.NewReader(stdin)
} }
if wait { if wait {
var combinedOutput bytes.Buffer var stdoutBuffer bytes.Buffer
cmd.Stdout = &combinedOutput var stderrBuffer bytes.Buffer
cmd.Stderr = &combinedOutput cmd.Stdout = &stdoutBuffer
cmd.Stderr = &stderrBuffer
err := cmd.Start() err := cmd.Start()
if err != nil { 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") return "", errors.New("process killed as timeout reached")
case err := <-done: case err := <-done:
if err != nil { 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 { } else {
stdout, err := cmd.StdoutPipe() stdout, err := cmd.StdoutPipe()
if err != nil { if err != nil {