proasis: Könnte das Problem durch überlaufen des RAM verursacht werden?
Daher meinte ich ja, du solltest deine Serial Ausgaben zum debuggen nutzen.
Bei einer Heap/Stack Kollision sollte der Uno eigentlich resetten. Das müsstest du im Seriellen Monitor auch erkennen.
durch diese Zeilen sollte eigentlich klar sein, ob das Schreiben erfolgreich war:
Serial.println("saved in log.txt"); //successfully safed } else { Serial.println("error opening log.txt");//error message if file is not open/storing of data was not
oder vorher schon was passiert. Das solltest du im Serial Monitor sehen.
vieleicht hilft auch ein String reserve https://www.arduino.cc/reference/en/language/variables/data-types/string/functions/reserve/
wenn es schon unbedingt String Objekte sein müssen.