AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

suche suchfunktion für grosse log files

Ein Thema von michdan · begonnen am 29. Mai 2005 · letzter Beitrag vom 30. Mai 2005
Antwort Antwort
michdan

Registriert seit: 1. Okt 2003
Ort: varde, Dänemark
40 Beiträge
 
Delphi 7 Professional
 
#1

suche suchfunktion für grosse log files

  Alt 29. Mai 2005, 13:27
hallo

Ich möchte mir ein tool schreiben das ich zur analyze von log files benutzen kann.

Die log files stammen von verschidene applikationen und sind 10 mb gross, es ist reiner ascii text.
Die einträge sind mit zeitstempel versehen und vom log kann man zum beispiel einen warenfluss verfolgen

Die aufgabe ist:

1) Das log file nach bestimmten einträgen durchsuchen und alle gefundene zeilen in ein anzeige fenster kopieren.
2) Die gefundene einträge muss man nach verschidenen kriterien sortieren können. zumbeispiel das zeitstempel.
3) Mann muss die suchfunktion mehrmals mit verschidene argumenten aufrufen können und das resultat im selben anzeige fenster kopieren.


meine fragen:
1) Hat jemand so etwas schon mal gemacht ?
2) Gibt es irgendwo beispiele, projekte, links zum anshauen ?
3) Wie kann ich am besten, meist effizient, so grosse files durchsuchen ?

gruss
michael
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: suche suchfunktion für grosse log files

  Alt 29. Mai 2005, 13:46
Als erstes fiel mir ein Stringgrid ein. Das wäre das flexibelste. Erste Wahl wäre aber wohl eine doppelt verkettete Liste. Beides bedeutet etwas (eventuell überflüssige) Arbeit. Als Kompromiss würde ich mir TStrings oder TStringlist ansehen.
Gruß
Hansa
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: suche suchfunktion für grosse log files

  Alt 29. Mai 2005, 22:07
Versuche "Grep". Ist bei GExperts mit dabei, Bekommst du aber auch im Netz. War bei TurboPascal enthalten. Ach, findest Du schon.

Ich sehe meine Logs als entweder ein string (dann mit boyer moore suchen) oder als Stringlist. Dann Schleife und POS.
In jedem Fall solltest Du dir eine RegExpression Maschine besorgen, damit kannst Du sehr effektiv suchen. Ich hatte mir extra ein Tool geschrieben (Quick and Dirty), das mir die relevanten Log-Zeilen ausfiltert. Eigentlich habe ich ständig dran rumgebastelt, weil jedes Mal die Problemstellung anders war. Also wurde flux die Suchroutine angepasst.

Ich würde die Daten einlesen und gleich den Zeitstempel extrahieren. Damit hast Du dein erstes Sortier/Suchkriterium. Dann benutze z.B. einen RegExpression-Parser (NDEA). Die gibt es u.A. bei torry.net Damit solltest Du die meisten Filteroperationen implementieren können. Deine Wünsche nach Sortieren/Auswerten etc. sind ja stark vom Inhalt der Logzeilen abhängig.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
michdan

Registriert seit: 1. Okt 2003
Ort: varde, Dänemark
40 Beiträge
 
Delphi 7 Professional
 
#4

Re: suche suchfunktion für grosse log files

  Alt 30. Mai 2005, 09:58
hi alzaimar

Ich kenne auch 'Grep' und es ist auch diese funktionalitet vom diesem program das ich erreichen möchte.

Hast du schon erfahrung gemacht wie es mit grossen log files geht ?
Die logfiles die ich analyzieren möchte sind 10mb gross und sind in meherenden files abgespeichert, würde dass dann immer noch mit stringlist und POS funktionen funktionieren ?

Könntes du eventuel dein tool mal posten/mailen , als anregung..

gruss
michael
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

Re: suche suchfunktion für grosse log files

  Alt 30. Mai 2005, 10:16
Also ich hab meine Logfiles immer in ein DB Kopiert und dann mit LIKE gesucht und gefiltert.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: suche suchfunktion für grosse log files

  Alt 30. Mai 2005, 10:26
Klar in eine DB reinballern und mit LIKE ist natürlich optimal (=Grep für Reiche ).
Ich brauchte aber reguläre Ausdrücke, das kann SQL nicht.

10MB Größe geht noch. Am längsten dauert ja sowieso das Einlesen. Du solltest dir überlegen, was Du genau brauchst.
Ich brauchte ein Tool, bei dem ich mit den Logs rumspielen konnte (Gemeinsamkeiten finden, etc.) Also hab ich alles in ein Memo eingelesen und rumgescrollt, gefiltert etc.

Vielleicht brauchst Du ein Kommandozeilentool, das einfach sehr schnell die Logdateien nach bestimmten Kriterien durchsucht.

Mein Tool ist weg . Aber es war relativ einfach:

1. Eingabe Filename,
2. Eingabe Filterkriterium
3. LOAD-Button. Daten werden gelesen und gefiltert. Anzeige im Memo (oder StringGrid).
4. Goto 2 oder 'reset'-Button: Dann Goto 1
------------
Ach, und dann hatte ich noch ein Histogramm, wo man einfach sehen konnte, wie viele logs zu welcher Uhrzeit reinkamen. Wenn da ein 'Loch' in der Grafik war, war wohl irgendwas mit der Leitung im Eimer usw.

Wenn Du das noch als MDI implementierst, hast Du ein schönes Spielzeug.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
michdan

Registriert seit: 1. Okt 2003
Ort: varde, Dänemark
40 Beiträge
 
Delphi 7 Professional
 
#7

Re: suche suchfunktion für grosse log files

  Alt 30. Mai 2005, 12:37
Hi

Danke für die anregung....Ich mache mir mal an die arbeit....

gruss
michael
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: suche suchfunktion für grosse log files

  Alt 30. Mai 2005, 12:40
Oh, geil, poste das Ding mal. Vielleicht kann ich noch was beitragen
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:56 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