func()

in funcframework/logging.go [146:171]


func (w *structuredLogWriter) Write(output []byte) (int, error) {
	w.mu.Lock()
	defer w.mu.Unlock()

	w.buf = append(w.buf, output...)
	buf := w.buf
	wroteLines := 0
	for {
		advance, token, err := bufio.ScanLines(buf, false)
		if token == nil || err != nil {
			break
		}
		buf = buf[advance:]
		if _, err := w.writeStructuredLog(w.loggingIDs, string(token)); err != nil {
			return 0, err
		}
		wroteLines += 1
	}

	if wroteLines > 0 {
		// Compact the buffer by copying remaining bytes to the start.
		w.buf = append(w.buf[:0], buf...)
	}

	return len(output), nil
}