Anlegen einer Log Datei - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +---- Thema: Anlegen einer Log Datei (/Thread-Anlegen-einer-Log-Datei) |
Anlegen einer Log Datei - Movie - 18.02.2010 12:41 Hallo ich guck schon den ganzen Morgen aber ich finde nix im Forum vielleicht hab ich Tomaten auf den Augen oder die Funktion fehlt wirklich im LabVIEW. Also ich möchte gern eine Log Datei erstellen. Ganz typisch mit Zeitstempel und einer Nachricht, die neuen nach oben und die alten darunter. Am besten auf eine bestimmte Anzahl von Zeilen begrenzt. Sicher könnte ich eine TXT erstellen. Diese auslesen dem String eine neue Zeile hinzufügen und wieder abspeichern. Das kann doch nicht der einfachste weg sein allein bei 100 Einträgen hätte ich so ja 99% Redundanz! Anlegen einer Log Datei - Achim - 18.02.2010 12:49 Hm...um die Erstellung einer Textdatei wirst du nicht rumkommen. Evtl. funktioniert es, wenn du nicht direkt "WriteTextfile" verwendest sondern erst mal das File öffnest (offen lässt?!) und mit "SetFilePosition" (Advanced File Functions) den Einfügepunkt ganz vorne hinsetzt! Dann musst du nicht immer alles einlesen! Wenn du neuesten Einträge unten hinschreibst, brauchst du das gar nicht beachten, weil du mit "WriteSpreadsheet" (schreibt auch nichts anderes als eine Textdatei) einfach per "Append"-Modus hintendran schreiben kannst! A. Anlegen einer Log Datei - Movie - 18.02.2010 13:26 Ok danke so würde man das Redundanz Problem schon mal los werden. So richtig gut ist das aber immer noch nicht. Die Datei würde immer weiter anwachsen und die Daten sind eigentlich nicht in der Reihen folge die ich will. Ich hoffe ich hab die richtigen VI benutzt. Ich benutzt LabVIEW in Deutsch. Naja mit der Reihenfolge schaffe ich es vielleicht noch zu leben aber hat noch jemand ne Idee wie ich die TXT begrenzen soll? Sowas wie ein Ringspeicher auf Zeilen Basis wäre super! Anlegen einer Log Datei - SeBa - 18.02.2010 13:40 Warum willst du eine Textlogdatei auf 100 Zeilen beschränken? Die ordinäre Logdatei loggt solange bis jemand sie löscht. Sie hat auch einfach das letzte Logereignis am Ende stehen. Programmierer sind manchmal faul und lassen die Dinge so wie sie sind (->schreiben am Ende... append...wie Achim schon sagte). Ich würde zwei Sachen vorschlagen: 1. Mach eine Anzeige die du auf 100 Zeilen beschränkst. (ja, sicher musst du das programmieren...) 2. Lass einfach alles in die Logdatei laufen, immer ans Ende angehängt. Gruß SeBa Anlegen einer Log Datei - Movie - 18.02.2010 14:33 Ja mag sein das Programmierer manchmal faul sind aber dann kommt sowas wie Windows dabei raus. Die 100 war auch nur mal so eine Zahl ich dachte im fertigen Programm eher an 10000 Einträge mal sehen wie ich da hinkomme. Aber den Speicher voll laufen lassen kann ich auch nicht weil ihn keiner Löschen wird. Das Programm soll als Dienst ohne Benutzeroberfläche laufen und regelmäig Daten Sichern. Werden nun wegen einem Netzwerkfehler oder sonst einer Störrung keine Daten mehr gesichert. Hab ich nur eine chance heraus zu finden was los war. Ich muss mir den System log ansehen. Und wenn ich lustig alle 10min bei 10 Geräten jeweils speicher das ich 10Messungen angefordert und danach erhalten habe. Bin ich in ner Stunde schon bei 2200 Einträgen. wenn ich das ein Jahr gemacht habe hab ich grob überschlagen 1GB Log Dateien auf dem Rechner und ich muss sagen dafür wären mir 100MB schon zu viel. Ja man könnte auch nur Fehler Logen aber wenn der PC anstürzt hab ich keine Fehlermeldung mehr und weis nur das es irgendwann zwischen dem letzten Fehler und Heute passiert ist. Wie auch immer ich möchte meine Log Datei begrenzen und würde mich über Ideen freuen wie ich das machen könnte ohne die Komplette Datei auszulesen zu müssen da der Inhalt für mein Programm ja uninteressant ist. Hab mal ein VI angehängt so wie ich Achim verstanden habe. [attachment=24513] In LabVIEW 2009 Anlegen einer Log Datei - SeBa - 18.02.2010 14:49 Ok. Anderer Vorschlag: Du speicherst alles in ein Log. Wenn alles gut läuft lässt du deinen neuen besten Freund "ErrorFlag" auf False. Tritt ein Fehler auf setzt du ErrorFlag auf True. (ErrorFlag ist ne boolsche Variable oder ein boolsche Shiftregister...) Du splittest alle X Byte deine Logdatei. Also schränkst du damit die Größe einer Logdatei ein. War ErrorFlag während des Loggens immer False kannst du die alte Logdatei ja ohne Probleme löschen. -> Platz gespart Trat ein Fehler auf den du dir Anschauen willst, dann löschst du die Logdatei halt nicht. Nach dem Erstellen der neuen Logdatei setzt du ErrorFlag natürlich auch wieder auf False. Das Splitten nach Dateigröße hab ich schonmal ein Bsp. zu gemach. Muss ich gleich mal suchen. Gruß SeBa EDIT. Gefunden... Guckst du hier Anlegen einer Log Datei - Achim - 18.02.2010 15:11 Jou, machen wir auch so...wir erzeugen jeden Tag ein neues File...und nach nem Jahr (Datum kommt wieder) wird das ein Jahr alte File automatisch gelöscht und eine neues erzeugt! Anlegen einer Log Datei - Movie - 18.02.2010 15:16 Ok das hört sich schon mal gut an. Ich werde den link mal nachvollziehen. Siehst auch gut aus das Schwierigste scheint ja das erstellen des Pfad zu sein und den brauch ich ja nicht so aufwendig Ich denke damit komme ich weiter! Danke!! |