Parserkomponente für regelbasierten Parser konfigurieren

Voraussetzungen:

Die Aufgabe des Parsers besteht darin, anhand der vom Extrahierungsprogramm begrenzten Nachrichten eine Gruppe von Zuordnungen zwischen Zeichenfolgewerten und den Common Base Event-Attributen zu erstellen.

Um die Parserkomponente zu konfigurieren, müssen Sie Regeln für die beiden Phasen der Parserausführung konfigurieren:

Regeln für globale Verarbeitung konfigurieren

  1. Wählen Sie im linken Teilfenster des Editors für Adapterkonfiguration nacheinander die Optionen Konfiguration > Kontextexemplar > Parser aus. Die Informationen zum Parser werden dann im rechten Teilfenster angezeigt.

    Anzeige der Details zur Parserkonfiguration im rechten Teilfenster

  2. Geben Sie die Beschreibung des Parsers in das Feld Beschreibung ein.
  3. Wenn Protokollsätze Separatortoken enthalten, die die Elemente innerhalb eines Datensatzes begrenzen, geben Sie den Token in das Feld Separatortoken ein. Für den Protokollsatz der Anwendung myapp beispielsweise ist der Separatortoken zwischen den Elementen ein doppeltes Leerzeichen:
    <March 14, 2004 10:25:21 EST>  application:myapp  severity:3  message:WARNING-file style.css missing
    Der Separatortoken kann mit dem regulären Ausdruck [ ]{2} angegeben werden.
  4. Wenn die Protokollsätze Elemente in einem Muster mit Name/Wert-Paaren enthält, können Sie den Token, der den Namen zum Wert zuordnet, in das Feld Bestimmungstoken eingeben. In vorstehendem Beispiel ist der Bestimmungstoken im Protokollsatz von myapp ein Doppelpunkt (:) .

Regeln für Attributverarbeitung konfigurieren

In der zweiten Phase der Parserausführung werden spezifische Substitutionsregeln angewendet, um zu ermitteln, welche Werte den Common Base Event-Attributen zugeordnet werden sollen.

Common Base Event-Attribute hinzufügen und konfigurieren

Die folgenden Common Base Event-Attribute sind erforderlich:

Das Common Base Event-Modell enthält eine vollständige Liste der Common Base Event-Attribute.

  1. Wählen Sie im linken Teilfenster des Editors für Adapterkonfiguration nacheinander die Optionen Konfiguration > Kontextexemplar > Parser > Common Base Event aus. Die Common Base Event-Informationen werden dann im rechten Teilfenster angezeigt.
  2. Um ein neues Attribut hinzuzufügen, klicken Sie den Knoten 'Common Base Event' mit der rechten Maustaste an und wählen Sie aus dem Kontextmenü das Attribut aus, das Sie hinzufügen wollen. Das Attribut wird unterhalb des Common Base Event-Knotens erstellt. Im nachstehenden Beispiel wird das Attribut 'msg' hinzugefügt.

    Anzeige des Attributs 'msg' im rechten Teilfenster

  3. Um das zuvor hinzugefügte Attribut zu konfigurieren, klicken Sie das Attribut an. Die Attributdetails werden dann im rechten Teilfenster angezeigt.
  4. Im vorstehenden Beispiel können Sie das Markierungsfeld Vorherige Substitution für Übereinstimmung als Standardeinstellung verwenden auswählen, wenn nicht alle Protokollsätze das Attribut 'msg' enthalten. Hierdurch wird dem Attribut 'msg' der Wert der letzten übereinstimmenden Nachricht zugeordnet.
  5. Wenn Sie für das Attribut 'msg' einen Standardwert setzen wollen, geben Sie den gewünschten Wert in das Feld Standardwert ein. Dieser Standardwert wird nur dann verwendet, wenn keine Substitutionsregeln vorhanden sind oder übereinstimmen und das Markierungsfeld Vorherige Substitution für Übereinstimmung als Standardeinstellung verwenden nicht ausgewählt ist bzw. bei Auswahl dieses Markierungsfeld kein Wert für eine vorherige Übereinstimmung gespeichert ist.
  6. Fügen Sie alle erforderlichen Attribute anhand der vorstehenden Schritte hinzu.

Substitutionsregeln für Attribute hinzufügen und konfigurieren

Um dem Common Base Event-Attribut eine Substitutionsregel hinzuzufügen, wählen Sie nacheinander die Optionen Attribut > Hinzufügen > Substitutionsregel aus. Die Details zur Substitutionsregel werden dann im rechten Teilfenster des Editors angezeigt.

  1. Das Feld Positionen kann verwendet werden, wenn der Protokollsatz Name/Wert-Paare enthält, die durch einen Token begrenzt sind. Der Wert eines Name/Wert-Paars kann mit Hilfe des Atoms $h('name_das_name/wert-paars') extrahiert werden.
    Beispiel: Es wird derselbe Protokollsatz aus der Anwendung myapp verwendet:
    <March 14, 2004 10:25:21 EST>  application:myapp  severity:3  message:WARNING-file style.css missing
    Hierbei ist []{2} der Separatortoken und : ist der Bestimmungstoken. In diesem Fall lautet das Atom zum Extrahieren der Nachricht ('message') wie folgt: $h('message').
    Weitere Möglichkeiten zur Anwendung des Felds Positionen finden Sie unter Feld 'Positionen'.
  2. Die Übereinstimmung gibt ein Muster an, nach dem im Datensatz gesucht wird. Wird das Feld 'Positionen' angegeben, wird nur ein Teil des Datensatzes durchsucht. Ansonsten wird der gesamte Datensatz nach dem angegebenen Muster durchsucht. Innerhalb dieses Musters können bestimmte Daten mit Hilfe von runden Klammern zu einer Gruppe zusammengefasst sein. Darauf kann im Feld Substitution verwiesen werden. Wenn das Muster mit Daten im Datensatz übereinstimmt, wird dem Common Base Event-Attribut, für das die Regel gilt, ein Wert zugeordnet, der auf dem Feld 'Substitution' basiert. Ist dieses Feld leer, wird die Regel als Übereinstimmung betrachtet.
    In dem Beispiel des Protokollsatzes für myapp kann der folgende reguläre Ausdruck verwendet werden, um den Wert der extrahierten Nachricht mit dem Feld 'Positionen' abzugleichen:
    ^(\w+)-(.*)
    Dieses passende Muster enthält zwei Gruppen. Die erste Gruppe ist eine Gruppe von Wortzeichen vor einem Bindestrich. Die zweite Gruppe besteht aus allen Angaben nach dem Bindestrich bis zum Ende des Nachrichtenwerts gemäß Definition durch die Angabe im Feld 'Positionen'.
  3. Das Feld Substitution ist der Wert, der dem Common Base Event-Attribut als Ergebnis einer Übereinstimmung zugeordnet werden soll. Die Werte können aus der abgeglichenen Zeichenfolge extrahiert werden, indem die Literale $1, $2 etc. verwendet werden, die die im passenden Muster definierten Gruppen darstellen.
    Im Beispiel des Protokollsatzes für myapp geben Sie die Substitution als $2 an, wenn Sie lediglich den Wert der Warnung dem Common Base Event-Attribut 'msg' zuordnen wollen.

    Beispiel eines syntaktisch analysierten Protokollsatzes und Anzeige des Ergebnisses in der Sicht 'Ergebnis des Formatierungsprogramms'

  4. Die Erweiterungsklasse für Substitution kann verwendet werden, wenn Sie für den Wert, der mit den Feldern 'Positionen', 'Übereinstimmung' und 'Substitution' übereinstimmt, eine angepasste Syntaxanalyselogik ausführen wollen. Die Benutzerklasse muss die Schnittstelle des generischen Protokolladapters,
    classorg.eclipse.hyades.logging.adapter.parsers.ISubstitutionExtension,
    implementieren, damit sie vom generischen Protokolladapter ausgeführt werden kann.

  5. Das Feld Zeitformat kann verwendet werden, um eine Substitutionsregel für das Attribut 'creationTime' zu erstellen. Geben Sie in dieses Feld eine Zeichenfolge für ein Java-Zeitmuster ein. Das eingegebene Muster wird verwendet, um den Wert, der mit den Feldern 'Positionen', 'Übereinstimmung' und 'Substitution' übereinstimmt, mit Hilfe der Klasse java.text.SimpleDateFormat syntaktisch zu analysieren, um das Datum als Langwert zu generieren. Dieser Wert wird anschließend verwendet, um den Zeichenfolgewert des Datums in dem für Common Base Event erforderlichen Datums-/Zeitformat (dateTime) des XML-Schemas zu generieren.
    In dem Beispiel des Protokollsatzes für myapp sieht die Regel für das Zeitformat wie folgt aus:

    Beispielregel für das Feld 'Zeitformat' unter Verwendung der Java-Klasse für einfaches Zeitformat (SimpleDateFormat)

  6. Speichern Sie die Adapterkonfigurationsdatei, um die vorgenommenen Änderungen anzuwenden.
  7. Um die Regeln zu testen, klicken Sie das Symbol Adapter erneut ausführen Bild des Symbols 'Adapter erneut ausführen' an, um den Adapter auszuführen. Die Ergebnisse werden in der Sicht 'Ergebnis des Formatierungsprogramms' angezeigt.
  8. Klicken Sie Nächstes Ereignis anzeigen Bild des Symbols 'Nächstes Ereignis anzeigen' an, um die Common Base Event-Attribute anzuzeigen, die anhand der von Ihnen geschriebenen Regeln generiert wurden.

Hinweis: Weitere Informationen zum einfachen Datumsformat von Java (SimpleDateFormat) finden Sie in folgender JavaDoc: java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

Nach Fertigstellung der Parserregeln können Sie die Ausgabeprogrammkomponente der Adapterkonfigurationsdatei konfigurieren.

Verwandte Konzepte
Übersicht über generischen Hyades-Protokolladapter
Spezifikation des Common Base Event-Formats

Verwandte Tasks
Protokollparser erstellen
Regelbasierten Adapter erstellen
Ausgabeprogrammkomponente konfigurieren

Verwandte Verweise
Struktur der Adapterkonfigurationsdatei
Editor für Adapterkonfiguration
Grammatik von regulären Ausdrücken
Beispiele für Substitutionsregeln