Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#8

Re: onClose-Funktion auch bei Absturz ausgeführt?

  Alt 4. Nov 2008, 11:29
Hallo,

lösche die Datei nicht beim Programmende, sondern beim Programmstart die noch vorhandene.
Damit kommst Du an einem versehentlichen Löschen zum Programmende vorbei.

Beim Programmstart halt so:
Delphi-Quellcode:
AssignFile(f,'log.txt');
ReWrite(f);
Writeln(f,DateTimeToStr(Now),'jetzt gehts los');
CloseFile(f);
Jeden einzelnen Logeintrag dann mit:
Delphi-Quellcode:
AssignFile(f,'log.txt');
Append(f);
Writeln(f,DateTimeToStr(Now),sProtokollparameter);
CloseFile(f);
Aus leidvoller Erfahrung: Datei immer schließen, damit Du auch den letzten Eintrag noch hast, es sei denn, dass das Schreiben dieses Eintrages scheitert.

Der Einwand von Medium, die Log's nicht zu löschen, ist nicht von der Hand zu weisen. Du kannst anhand mehrere Logdateien eventuell Systematiken erkennen, die Dir in einer Logdatei nie auffallen würden. Und auch der Hinweis auf das Logging in Schleifen ist zu beachten. Bei zuviel des Guten, merkt man's doch an der Laufzeit.
Zuerst, denk' ich, reicht es, Beginn und Ende der Funktionen und Prozeduren, sowie eigene Exceptions zu loggen. Wenn Du dann schonmal "Grundmaterial" hast, kannst Du das Logging an den neuralgischen Punkten "verschärfen".
  Mit Zitat antworten Zitat