Java-Klasse für statischen Adapter schreiben

Beim Erstellen eines statischen Protokollparsers werden die Extrahierungsprogramm-, Parser- und Formatierungsprogrammkomponenten der Adapterkonfigurationsdatei durch eine Java-Klasse ersetzt. Die statische Parserklasse muss die Schnittstelle org.eclipse.hyades.logging.parser.IParser implementieren. Hierzu kann einer der abstrakten Klassen org.eclipse.hyades.logging.parser.Parser oder org.eclipse.hyades.logging.parser.MonitoringParser erweitert werden.

Parserklasse erweitern

Diese Klasse sollte verwendet werden, wenn Sie einen statischen Parser zur syntaktischen Analyse von Dateien, die nicht mehr aktualisiert werden, bzw. zur einmaligen syntaktischen Analyse einer Protokolldatei während der Ausführung des Kontextes erstellen. Wird diese Klasse verwendet, so muss das Kontextexemplar so konfiguriert werden, dass das Markierungsfeld 'Dauerbetrieb' nicht aktiviert ist.

  1. Fügen Sie eine Importanweisung import org.eclipse.hyades.logging.parsers.Parser; ein.
  2. Fügen Sie die folgenden Methoden zur Klasse hinzu:

Hinweis: Die geschützte Methode Parser.readALine() kann verwendet werden, um Daten aus der Protokolldatei zu lesen. Diese Methode liest eine Zeile aus der Protokolldatei und löst eine Ausnahmebedingung aus, wenn beim Lesen der Datei ein Fehler auftritt. Die Ausnahmebedingung enthält Informationen darüber, warum der Lesevorgang fehlgeschlagen ist. Die bestehende Methode 'readLine()', die einen Wert von null zurückgibt, wenn ein Fehler auftritt, wird von diesem Release nicht weiter unterstützt.

Erweiterung der Klasse 'MonitoringParser'

Diese Klasse sollte verwendet werden, wenn Sie einen statischen Parser zur dauerhaften Überwachung einer Protokolldatei erstellen möchten. Hinweis: Mit Hilfe dieser Klasse kann eine Protokolldatei überwacht werden, selbst wenn die Protokolldatei zum Zeitpunkt des Überwachungsbeginns nicht existiert. Die abstrakte Klasse org.eclipse.hyades.logging.parser.MonitoringParser muss erweitert werden. Diese Klasse erweitert die Klasse Parser. Implementieren Sie wie beschrieben die Methoden für die Parserklasse. Achten Sie allerdings auf Folgendes:

  1. Fügen Sie eine Importanweisung import org.eclipse.hyades.logging.parser.MonitoringParser ein.
  2. Wenn die folgenden Parsermethoden überschrieben werden, stellen Sie sicher, dass die entsprechenden Methoden der Superklasse von den überschriebenen Methoden aufgerufen werden:
  3. Fügen Sie in der Methode parseNext() einen Aufruf von setEndOfFile() ein, bevor sie zu null zurückkehrt, um anzuzeigen, dass zurzeit keine weiteren syntaktisch analysierten Datensätze vorliegen, die zurückgegeben werden könnten. Hierdurch wird sichergestellt, dass beim nächsten Aufruf von readALine() die Protokolldatei überprüft wird, um zu bestimmen, ob die Datei sich geändert hat und über neue Datensätze verfügt, die syntaktisch analysiert werden können.
  4. Wenn der statische Parser einen Befehl benötigt, um die Protokolldatei in ein Format umzuwandeln, das sich leichter syntaktisch analysieren lässt, bzw. um die Protokolldatei zu generieren, so muss dieser für die Klasse MonitoringParser unter Verwendung einer der folgenden Methoden bestimmt werden, nachdem setConfiguration() aufgerufen wurde: setConverterCommand(String) oder setConverterCommand(String[]).
    Wenn der Befehl die Protokolldaten in eine Datei mit einem anderen als dem in den Konfigurationsparametern unter setConfiguration() angegebenen Namen schreibt, so muss der neue Protokolldateiname in der Klasse MonitoringParser über die Methode setFilename(String) angegeben werden.

Hinweis:

  1. Das Plug-in org.eclipse.hyades.logging.parsers ist nun vom Plug-in org.eclipse.hyades.logging.adapter abhängig.
  2. Die Klasse MonitoringParser bietet mit Ausnahme der Methode readALine() keinen Direktzugriff auf die Protokolldatei. Statische Parser, die zurzeit das Mitglied logFile der Klasse 'Parser' verwenden, um Daten direkt aus der Protokolldatei zu lesen, sollten geändert werden, so dass sie die Methode readALine() verwenden.

Nach dem Schreiben und Testen Ihrer Java-Parserklasse können Sie die Sensorkomponente der Adapterkonfigurationsdatei so konfigurieren, dass sie auf diese Klasse verweist. .

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

Verwandte Aufgaben
Protokollparser erstellen
Statischen Adapter erstellen
Sensorkomponente konfigurieren

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