Skip to content

Commit ff3bf33

Browse files
committed
Fix duplicated output when debug is enabled
1 parent 1a19080 commit ff3bf33

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

internal/shell/shell.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -566,14 +566,18 @@ func (s *Shell) executeCommand(ctx context.Context, cmdCfg process.Config, stdou
566566
}
567567

568568
if s.debug {
569-
// Tee output streams to debug logger.
570-
stdOutStreamer := NewLoggerStreamer(s.Logger)
571-
defer stdOutStreamer.Close()
572-
cmdCfg.Stdout = io.MultiWriter(cmdCfg.Stdout, stdOutStreamer)
573-
574-
stdErrStreamer := NewLoggerStreamer(s.Logger)
575-
defer stdErrStreamer.Close()
576-
cmdCfg.Stderr = io.MultiWriter(cmdCfg.Stderr, stdErrStreamer)
569+
// Display normally-hidden output streams using log streamer.
570+
if cmdCfg.Stdout == io.Discard {
571+
stdOutStreamer := NewLoggerStreamer(s.Logger)
572+
defer stdOutStreamer.Close()
573+
cmdCfg.Stdout = stdOutStreamer
574+
}
575+
576+
if cmdCfg.Stderr == io.Discard {
577+
stdErrStreamer := NewLoggerStreamer(s.Logger)
578+
defer stdErrStreamer.Close()
579+
cmdCfg.Stderr = stdErrStreamer
580+
}
577581
}
578582

579583
if s.commandLog != nil {

0 commit comments

Comments
 (0)