9 PrefixedWriter wraps an io.Writer, emiting the passed in prefix at the beginning of each new line.
10 This can be useful when running multiple gexec.Sessions concurrently - you can prefix the log output of each
11 session by passing in a PrefixedWriter:
13 gexec.Start(cmd, NewPrefixedWriter("[my-cmd] ", GinkgoWriter), NewPrefixedWriter("[my-cmd] ", GinkgoWriter))
15 type PrefixedWriter struct {
22 func NewPrefixedWriter(prefix string, writer io.Writer) *PrefixedWriter {
23 return &PrefixedWriter{
24 prefix: []byte(prefix),
31 func (w *PrefixedWriter) Write(b []byte) (int, error) {
39 toWrite = append(toWrite, w.prefix...)
42 toWrite = append(toWrite, c)
44 w.atStartOfLine = c == '\n'
47 _, err := w.writer.Write(toWrite)