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:
- Globale Verarbeitung - Eine Gruppe globaler regulärer Ausdrücke wird für die vom
Extrahierungsprogramm gelieferten Nachrichtenergebnisse ausgeführt.
- Attributverarbeitung - Spezifische Gruppen von Substitutionsregeln werden
ausgeführt, um den Wert zu ermitteln, der den im Editor angegebenen Common Base Event-Attributen jeweils zugeordnet
werden soll.
- 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.

- Geben Sie die Beschreibung des Parsers in das Feld Beschreibung ein.
- 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.
- 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 (:) .
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:
- creationTime
- situation
- sourceComponentID
Das Common Base Event-Modell enthält eine vollständige Liste der
Common Base Event-Attribute.
- 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.
- 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.

- Um das zuvor hinzugefügte Attribut zu konfigurieren, klicken Sie das Attribut an. Die Attributdetails
werden dann im rechten Teilfenster angezeigt.
- 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.
- 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.
- 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.
- 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'.
- 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'.
- 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.

- 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.
- 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:

- Speichern Sie die Adapterkonfigurationsdatei, um die vorgenommenen Änderungen anzuwenden.
- Um die Regeln zu testen, klicken Sie das Symbol Adapter erneut ausführen
an, um den Adapter auszuführen. Die Ergebnisse werden in der Sicht 'Ergebnis des Formatierungsprogramms' angezeigt.
- Klicken Sie 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
(C) Copyright IBM Corporation 2000, 2004. Alle Rechte vorbehalten.