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
}