Occasional Hyphen Dash in millis

Writing a program to read X,Y,Z from an Adafruit 10 DOF IMU, and write it to a file on an SD card. I want to track flight time in millis as well. My string is basically
millis,X,Y,Z,pressure,altitude

My loop:

void loop() {
  
  // time counter
  time = millis();
  
  // Get IMU data
  getIMUInfo();

  String logString = String(time);
  logString += getIMUInfo();
  Serial.println(logString);

}

The millis portion of the output contains hyphens in the "tens" position, on a random basis:

21-0.08,-0.59,10.40,844.77,1507.88
940.00,-0.55,10.36,844.77,1507.88
1660.00,-0.59,10.43,844.80,1507.59
239-0.04,-0.55,10.40,844.82,1507.40
3130.04,-0.51,10.43,844.78,1507.78
3860.00,-0.51,10.43,844.81,1507.49
4580.00,-0.51,10.43,844.87,1506.92
531-0.04,-0.43,10.43,844.85,1507.11
6050.00,-0.55,10.51,844.79,1507.69
6770.00,-0.51,10.40,844.82,1507.40
7500.00,-0.55,10.43,844.77,1507.88
8240.00,-0.51,10.43,844.77,1507.88
8970.00,-0.51,10.43,844.80,1507.59
9690.04,-0.55,10.47,844.81,1507.49
10420.00,-0.55,10.36,844.77,1507.88
11160.04,-0.59,10.36,844.74,1508.17
11880.04,-0.51,10.40,844.81,1507.49
12610.04,-0.55,10.51,844.76,1507.97
13350.04,-0.55,10.40,844.80,1507.59

Any idea what might be going on? Any way to work around it, other than dropping the reading?

Post all the code.

The number being printed is negative, suggesting integer overflow.

that means --> declare the variable time holding millis() as an unsigned long

You put no comma between the millis and the rest of the IMU string. You are seeing the minus sign of the next number adjacent.

OK that is embarrassing. Correct answer - I forgot the comma between millis() and the other entries. Thank you for catching that, I should have reviewed my code more carefully. 6 am on a holiday weekend is apparently NOT a good time for debugging.

MorganS:
You put no comma between the millis and the rest of the IMU string. You are seeing the minus sign of the next number adjacent.

Nice catch.