Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Protokolldatei erstellen und verwalten (https://www.delphipraxis.net/95526-protokolldatei-erstellen-und-verwalten.html)

juergen 8. Jul 2007 17:32


Protokolldatei erstellen und verwalten
 
Hallo zusammen,

ich möchte beim Start, bei der Ausführung und am Ende eines Programmes bestimmte Sachen protokollieren.
Folgende Merkmale sollen dabei erfüllt werden:

1.) die Protokolldatei soll fortlaufend geschrieben werden, also immer "hinten" dran. Der Inhalt wäre in etwa so:
08.07.2007 12:00 Uhr Programmstart
08.07.2007 12:04 Uhr Daten erfolgreich bearbeitet (oder "!bei der Bearbeitung der Daten ist ein Fehler aufgetreten!")
08.07.2007 12:05 Uhr Programmende
...
Somit werden pro Programmausführung 3 Zeilen protokolliert.

2.) nach dem Erreichen einer bestimmten Dateigröße, sollen die ältesten Einträge wieder gelöscht werden, so dass die Protokolldatei ein bestimmtes Dateivolumen nicht überschreitet

Habe sowas noch nie gemacht.
meine Idee:
zu 1.) die "Verwaltung" der Protokolldatei läuft über ein StringGrid?
zu 2.) wenn die vorgegebene Dateigröße erreicht ist, dann generell die ersten 3 Zeilen löschen? :?:

Habt ihr bessere Ideen/ Vorschläge wie man sowas machen sollte?


Für leicht verständliche Ideen sag ich vorweg schon mal heißen Dank!

Nils_13 8. Jul 2007 17:39

Re: Protokolldatei erstellen und verwalten
 
Hi,

die wichtigste Frage überhaupt: willst du protokollieren und auch auslesen ?
Die einfachste Methode wäre ein Array oder eine StringList.
Ja: Du benötigst allerdings für jede Spalte einen Operator, der verkenntlicht, dass die nächste Spalte kommt. Das lässt sich dann ganz einfach mit Pos&Copy rausholen. Das reinschreiben ist auch sehr einfach, da eine Zeile auch ein String ist, also einfach einen String mit allen Infos und Abtrennungen reinschreiben.
Nein: Alles ohne Abtrennungen reinschreiben. Dann wäre es allerdings nicht schlecht, dass dennoch eine Tabelle mit Spalten entsteht, also sollten dann noch Leerzeichen rein, die alles gut aussehen lassen. Trotzdem bin ich für die erste Variante, selbstwenn sie etwas schwieriger ist, denn Ordnung ist immer am wichtigsten.


StringGrid:
Wenn du es anzeigen lassen willst, ist das durchaus eine gute Möglichkeit, aber wenn du mit der Pos&Copy-Variante Probleme hast, dann solltest du das als Nebenaufgabe noch lernen.

cruiser 8. Jul 2007 17:56

Re: Protokolldatei erstellen und verwalten
 
zur Anzeige würd ich ein ListView verwenden. Da kannst du auch gleich eine Image-List zwecks Icons einbinden.

Was die Log-File-Verwaltung angeht:
ich nehm an, es soll noch als Klartext lesbar sein.

ein gebufferter Filestream ist da evtl. nicht verkehrt. halt immer bis #13 einlesen (oder mehr)

und etwa so aufbauen:

(I) DD.MM.YYYY HH:MM:SS Text#13

(I) eben für Allgemeine Info
(W) für Warnung
(F) für Fehlermeldung

ich denk, es ist zweckmässig Bildschirmausgabe und Logfile-Speichern/Laden zu trennen in dem Fall.

juergen 8. Jul 2007 19:49

Re: Protokolldatei erstellen und verwalten
 
Nachdem ich mir die Eigenschaften von ListView angeschaut habe, werde ich das nun auch mit ListView realisieren.
Die Idee mit den 3 Kategorien (W,I und F) und einem passenden Icon dazu ist sehr gut!
Besten Dank für eure Anregungen und
einen schönen Sonntag noch!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz