C#: tail wie das Programm für die text-Datei

Habe ich eine log-Datei protokolliert permanent kurze Zeilen. Ich brauche, um einen Dienst zu entwickeln, der reagiert (oder Umfragen, oder hört), um neue Linien Hinzugefügt, um die Datei, eine Art von unix' tail-Programm, so dass mein service ist immer up to date reguarding die Datei.

Ich glaube nicht, dass die Eröffnung eines lese-stream und halten Sie es geöffnet, ist eine gute Idee. Vielleicht sollte ich nutzen der FileSystemWatcher-Klasse.

Lange Geschichte kurz, ich brauche, um zu analysieren, in Echtzeit jede neue Zeile zu dieser Datei Hinzugefügt.

Jede Idee, Hilfe oder Hinweis wirklich dankbar.

BEARBEITEN

Als ich schon nicht ganz klar. Ich brauche nicht jedes Programm, ich bin schreiben ein Programm. Zum Lesen (dann Verarbeitung) jede neue Zeile der Datei Hinzugefügt. Ich meine, dass das, was ich Suche, ist eine Methode (oder: wie implementieren Sie diese?) für kontinuierlich tailing eine Datei, die hält, die auf geschrieben worden.

Habe ich zu entwickeln, ein Windows-Dienst, der "hört" auf diese Datei und führt Operationen auf jede neue Zeile.

So, wenn man in einem bestimmten moment die Datei:

12.31.07 - jdoe [log on] 347
12.32.08 - ssmith [log on] 479
12.32.08 - mpeterson [log off] 532
12.32.09 - apacino [log on] 123

in dem moment, in dem die Linie

12.32.11 - pchorr [log on] 127

ist Hinzugefügt, um die log-Datei von der logging-Programm (ich habe keinen Zugang zu), muss ich meine Windows-Dienst, um "reagieren" zu der Zeile sucht, fangt die neue Zeile (12.32.11 - pchorr [log on] 127) und verarbeiten es. Und so weiter.

Nun, ich weiß nicht, wie dies zu tun. Ich sollte eine Umfrage der Datei alle n-Sekunden, speichern Sie die zuletzt gelesene Zeile in den Speicher und verarbeitet nur die neu hinzugefügten Zeilen. Das problem mit diesem ist, dass sehr langsam ist, und ich würde das Lesen eine sehr große Datei jedes mal.

Oder vielleicht könnte ich FileSystemWatcher, aber ich habe nicht gefunden eine Beispiel der Verwendung für ähnliche Zwecke.

So, was würden Sie vorschlagen, um die Arbeit zu erledigen? Danke.

  • Warum können Sie nicht verwenden, Schwanz?
  • Ich denke, er will eine Art der Verarbeitung auf die Zeilen, die Hinzugefügt, um die log-Datei nicht einfach anzeigen wie Schwanz hat und er würde gerne wissen, der beste Weg, um zu überwachen das Protokoll und Lesen in den Zeilen.
InformationsquelleAutor pistacchio | 2009-07-28
Schreibe einen Kommentar