code: func (w *WAL) Log(recs ...[]byte) error {
  	w.mtx.Lock()
  	defer w.mtx.Unlock()
  	// Callers could just implement their own list record format but adding
  	// a bit of extra logic here frees them from that overhead.
  	for i, r := range recs {
  		if err := w.log(r, i == len(recs)-1); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // Log writes the records into the log.
  // Multiple records can be passed at once to reduce writes and increase throughput.