func()

in internal/util/env_log.go [63:92]


func (l *ResourceLogFollower) ConsumeLog(logWriter *os.File, stream io.ReadCloser) <-chan struct{} {
	if l.IsFollowed(logWriter.Name()) {
		return nil
	}

	finished := make(chan struct{}, 1)
	go func() {
		defer func() {
			stream.Close()
			close(finished)
		}()

		r := bufio.NewReader(stream)
		for {
			bytes, err := r.ReadBytes('\n')
			if err != nil {
				if err != io.EOF {
					return
				}
				return
			}

			l.writeFollowed(logWriter)
			if _, err := logWriter.Write(bytes); err != nil {
				return
			}
		}
	}()
	return finished
}