Logparser
Erster Versuch

Ein erster Versuch mit dem Microsoft LogParser

Wir legen, zur besseren Übersicht, im Ordner "Eigene Dateien" ein Unterverzeichnis an, z.B. "logparsefiles", und in diesem Verzeichnis die Datei top10.bat mit folgendem Inhalt:

LogParser -i:FS -o:DATAGRID "Select TOP 10 Path,Name,Size FROM C:\*.* ORDER by Size DESC"

Anmerkung:

“Wir verwenden zur Arbeit mit dem Microsoft LogParser immer einfache Textdateien (auch wenn diese gegebenenfalls andere Dateiendungen haben wie oben z.B. .bat). D.h. wir benötigen zur Erstellung dieser Dateien nichts weiter als einen einfachen Texteditor, wie z.B. den mit Windows installierten Editor (notepad).”

Doch zurück zu unserem Beispiel. Also wir haben die Datei angelegt und klicken nun einfach auf die Datei (z.B. im Explorer), um ihrer Ausführung zu veranlassen.

Es öffnet sich zuerst ein Fenster des Befehlzeileninterpreters cmd.exe und kurz (kurz ist natürlich relativ, für das Durchsuchen von 40 GB Daten benötigt auch der LogParser einige Zeit) darauf erscheint das Ausgabefenster des Microsoft LogParser, das ungefähr so aussieht:

Bild "Logparser:beispiel1.jpg"

Mit einem Klick auf "Auto Resize" haben wir einen besseren Überblick. Was wir sehen, ist eine Liste mit den 10 größten Dateien auf Laufwerk C. Diese Angaben können wir entweder zeilenweise (Zeile anklicken und Edit >Copy) oder insgesamt (Edit>Select all und Edit>Copy) weiter verarbeiten. Die Befehlsschalflächen "All rows" und "Next 10 rows" sind bei diesem Beispiel ohne nennenswerte Wirkung.

Diese Abfrage lässt sich noch weiter ausbauen. Ein Beispiel findet sich hier. Auch die Umleitung der Ausgabe in eine Datei habe ich in einem gesonderten Beispiel dargestellt. Doch zurück zu unserer ersten Abfrage, die so aussah:

LogParser -i:FS -o:DATAGRID "Select TOP 10 Path,Name,Size FROM C:\*.* ORDER by Size DESC"

Der erste Parameter nach dem Programmnamen beschreibt die Datenquelle, das Eingabeformat. In unserem Beispiel bedeutet -i:FS soviel wie nimm als Datenquelle das Dateisystem des Computers. Die nähere Spezifizierung der Datenquelle erfolgt dann allerdings erst mit der FROM-Clausel.

Der zweite Parameter das Ziel der Ausgabe, das Ausgabeformat. In unserem ersten Beispiel bedeutet o:DATAGRID soviel wie gebe die Daten in dem LogParser-eigenen grafischen User Interface aus.

Der letzte Parameter ist die SQL-Abfrage, mit der der LogParser die Eingabedaten verarbeiten soll. Diese SQL-Abfrage lässt sich wiederum in einzelnen Parameter unterteilen:

  • Das Schlüsselwort SELECT leitet gewissermaßen jede SQL-Abfrage ein. TOP 10 besagt nimm die größten 10.
  • Path,Name,Size sind die einzelnen Datenfelder, die selektiert werden und zur Ausgabe kommen.
  • Die FROM-Clausel FROM C:\*.* spezifiziert die Datenquelle konkret. Die Klausel ORDER by Size DESC besagt sortiere die Ausgabedaten auf der Grundlage des Feldes Size (also Dateigröße), und zwar absteigend.

Soviel zu einem ersten einleitenden Beispiel. Wir haben gesehen:

  • Der Microsoft LogParser ist ein mächtiges und in Bezug auf die Verarbeitungsgeschwindigkeit auch sehr schnelles Werkzeug
  • Die grundlegenden Parameter einer LogParser - Abfrage sind Datenquelle, Ausgabeformat und SQL-Anweisung.

Mit diesen drei Parametern werden wir uns im folgenden systematischen Teil beschäftigen.