Ethernet Shield: Log sensor readings to SD card and serve the logs over Ethernet

I think error() is some sort of communication with a built in set of responses from the SD card.

I've got the web server and data logging working now. Honestly, I don't know what was wrong. It was late, I was tired, and all of a sudden the code was working. I'll post it soon when I've got it cleaned up. Presently I am attempting to write a newline to the file in the setup(), but that is causing the SD card to fail.

  //// write newline to beginning of log
  char filename[12] = "DATA127.CSV";
  if (!file.open(root, filename, O_CREAT | O_APPEND | O_WRITE)) error("open failed");
  //file.println();
  //file.println();

returns in the serial monitor:
error: open failed
SD error: 19,0

That same code snippet works fine in the loop() though.