func()

in astro/exec2/process.go [53:76]


func (p *Process) configureOutputs() error {
	p.stdoutBuffer = &bytes.Buffer{}
	p.stderrBuffer = &bytes.Buffer{}

	stdoutWriters := []io.Writer{p.stdoutBuffer}
	stderrWriters := []io.Writer{p.stderrBuffer}

	if p.config.CombinedOutputLogFile != "" {
		combinedOutputLog, err := os.Create(p.config.CombinedOutputLogFile)
		if err != nil {
			return err
		}

		stdoutWriters = append(stdoutWriters, combinedOutputLog)
		stderrWriters = append(stderrWriters, combinedOutputLog)

		fmt.Fprintf(combinedOutputLog, "+ %s %s\n", p.config.Command, p.config.Args)
	}

	p.execCmd.Stdout = io.MultiWriter(stdoutWriters...)
	p.execCmd.Stderr = io.MultiWriter(stderrWriters...)

	return nil
}