Data Logging Stops After Losing GPS Signal

However,

longitude = (gps.location.lng(), 8 );
then
Serial.print(longitude)

Prints 8.00 in the longitude column.

Well, of course it does. That's what the comma OPERATOR does. Note that the comma OPERATOR is NOT the same as the comma delimiter between arguments.

Crap code is crap, no matter how much you'd like to believe that what works in a function call works everywhere.