Plug-in-Projekt für Protokollparser implementieren

Voraussetzungen

Nach dem Erstellen eines Plug-in-Projekts zum Speichern der Artefakte für einen Protokollparser müssen Sie das Plug-in konfigurieren, damit es von der Protokoll- und Traceanalysefunktion verwendet werden kann. Gehen Sie hierzu folgendermaßen vor:

  1. Fügen Sie der Plug-in-Manifestdatei Plug-in-Abhängigkeiten hinzu.
  2. Fügen Sie der Plug-in-Manifestdatei einen Erweiterungspunkt für den Protokollparser hinzu.
  3. Erstellen Sie eine statische Wrapperklasse für den Parser.
  4. Einstellungen des Protokollparser-Plug-ins prüfen
  5. Packen Ihres Protokollparser-Plug-ins für die Implementierung
  6. Implementierung Ihres Protokollparsers

Plug-in-Abhängigkeiten hinzufügen

Die nachstehenden Plug-in-Abhängigkeiten müssen in die Plug-in-Manifestdatei integriert werden. Öffnen Sie die Datei 'plugin.xml' in einem Texteditor und fügen Sie die folgenden Zeilen nach dem Element 'runtime' (Laufzeit) hinzu:

   
<requires>
 <import plugin="org.eclipse.ui"/>
 <import plugin="org.eclipse.core.runtime.compatibility"/>
 <import plugin="org.eclipse.hyades.logging.adapter"/>
 <import plugin="org.eclipse.hyades.logging.parsers"/>
 <import plugin="org.eclipse.hyades.logging.adapter.config"/>
</requires>

Erweiterungspunkt für Protokollparser hinzufügen

Sie müssen einen Erweiterungspunkt für jeden Typ einer Anwendungsprotokolldatei definieren, die Sie analysieren und in die Analysefunktion für Protokoll und Trace importieren möchten. Im Folgenden sehen Sie ein Beispiel für eine Erweiterungspunkt für die MyApp-Anwendung, in dem sowohl ein Regeladapter als auch ein statischer Adapter definiert ist:

 <extension
         point="org.eclipse.hyades.logging.parsers.logParser">
	      <parser
            name="Sample Rules Adapter for MyApp"
            icon=""
            description="%STR_MYAPP_PARSER_DESCRIPTION"
            class="RulesParser.StaticParserExtension"
            ui_name="MyApp myapp.log file"
            id="org.eclipse.hyades.logging.parsers.MyAppLogParser">  
         <field
               useBrowse="true"
               defaultValue="d:\temp\sample.log"
               name="Directory"
               helpContextId=""
               tooltip="%STR_MYAPP_TOOLTIP1"
               id="file_path"
               browseType="*.log">
         </field>         
         <field
               useBrowse="false"
               defaultValue="MyApp 1.0(rules), MyApp 1.0(static)"
               name="Supported versions"
               helpContextId=""
               tooltip="%STR_MYAPP_TOOLTIP2"
               ui_type="combobox"
               id="version">
         </field>
         <parserParameter
               name="MyApp 1.0(rules)"
               value="./MyAdapter/myadapter.adapter">
    </parserParameter>
	<parserParameter
               name="MyApp 1.0(static)"
               value="./MyAdapter/mystaticadapter.adapter">
         </parserParameter>

      </parser>
   </extension>

Um den Erweiterungspunkt für Ihren Protokollparser anzupassen, müssen die folgenden Aktualisierungen vorgenommen werden:

  1. Ersetzen Sie 'RulesParser' in diesem Erweiterungspunkt durch den Namen des Plug-ins, das Sie für das Protokollparser-Plug-in-Projekt erstellt haben.
  2. Ersetzen Sie 'MyAdapter' in diesem Erweiterungspunkt durch den Namen des Ordners in Ihrem Plug-in, der Ihre Adapterdateien enthält.
  3. Das Tag <parser> spezifiziert Informationen der oberen Ebene für den Parser und ist ein erforderliches Element. Ersetzen Sie die folgenden Attribute:
  4. Das erste Tag <field> definiert das Benutzerschnittstellenfeld für die Auswahl der Position der Protokolldatei. Es handelt sich um ein erforderliches Element. Ersetzen Sie die folgenden Attribute:
  5. Das zweite Tag <field> definiert das kombinierte Benutzerschnittstellenfeld für die Auswahl der Version der zu importierenden Protokolldatei. Es handelt sich um ein erforderliches Element. Ersetzen Sie die folgenden Attribute:
  6. Das Tag <parserParameter> definiert, welche Adapter-Konfigurationsdatei für jede unterstützte Protokolldateiversion zu verwenden ist. Ersetzen Sie die folgenden Attribute:
Hinweis: Es sollte ein Standardwert definiert werden, für den Fall, dass keine Übereinstimmung für eine Version gefunden werden kann. Wenn Sie nur eine Adapter-Konfigurationsdatei haben, müssen Sie nur den folgenden Standardwert haben parserParameter:
<parserParameter
   name="Default"
   value="./MyAdapter/myadapter.adapter">
</parserParameter>

Anhand der oben angegebenen Felder wird eine Option für 'MyApp myapp.log' im Assistenten 'Protokolldatei importieren' erstellt, wie nachstehend gezeigt:

Assistent 'Protokolldatei importieren' mit 'myapp myapp.log' als Option zum Importieren

Sie können eine Datei 'plugin.properties' verwenden, um bestimmte Eigenschaften in der Datei 'plugin.xml' zu definieren, die eventuell verschiedene Versionen haben muss. Wenn es z.B. in dem Assistenten für den Import von Protokolldateien Zeichenfolgen gibt, die in verschiedene Sprachen übersetzt werden müssen, können diese in der Datei 'plugin.properties' definiert werden und Sie können verschiedene Eigenschaftsdateien für die Sprachen, die Sie unterstützen möchten, aufnehmen. In der Datei 'plugin.properties' definieren Sie Ersatzvariablen, die in der Datei 'plugin.xml' verwendet werden können. Die Datei 'plugin.properties' für die vorstehende Datei 'plugin.xml' würde wie folgt aussehen:


# Eigenschaften für das Plug-in RulesParser

pluginName = RulesParser
providerName = MeineFirma

# Nachricht(en) für den Erweiterungspunkt des Protokollparsers:
STR_MYAPP_PARSER_DESCRIPTION = 'MyApp' - Regelbasierter Parser v1.0
STR_MYAPP_TOOLTIP1           = Speicherposition der Protokolldatei eingeben
STR_MYAPP_TOOLTIP2           = Version der zu importierenden Protokolldatei auswählen

Wrapperklasse für den Parser erstellen

Erstellen Sie eine statische Wrapperklasse zur Erweiterung von org.eclipse.hyades.logging.adapter.config.StaticParserWrapper. Diese Klasse wird sowohl für statische als auch für regelbasierte Parser verwendet. Erstellen Sie die Klasse in dem Protokollparser-Plug-in-Projekt. Sie können die folgenden Beispielklasse verwenden, indem Sie RulesParser durch den Namen Ihres Protokollparser-Plug-in-Projekts ersetzen.

/*
 * Erstellt am 12. April 2004
 * StaticParserExtension-Klasse zur Verwendung im RulesParser-Plug-in erstellt
 */
package RulesParser;

import org.eclipse.hyades.logging.adapter.config.StaticParserWrapper;

/**
 * @Autor/Entwickler
 * StaticParserExtension-Klasse
 */
public class StaticParserExtension extends StaticParserWrapper {
	public StaticParserExtension(){
		super();
		currentPlugin="RulesParser"; 
	}
}

Einstellungen des Protokollparser-Plug-ins prüfen

Um zu prüfen, ob Sie die Plug-in-Manifestdatei korrekt konfiguriert haben, können Sie Ihr Plug-in-Projekt in einer neuen Laufzeit-Workbench ausführen. Gehen Sie folgendermaßen vor:

  1. Wechseln Sie zur Plug-in-Perspektive, indem Sie Fenster > Perspektive öffnen > Andere > Plug-in-Entwicklung auswählen.
  2. In der Perspektive 'Plug-in-Entwicklung' wählen Sie Ihre Plug-in-Projekt aus.
  3. In der Symbolleiste wählen Sie Ausführen > Ausführen als > Laufzeit-Workbench aus.
  4. In dem Menü der neuen Workbench wählen Sie Datei > Importieren aus.
  5. In dem Importassistenten wählen Sie Protokolldatei aus und klicken dann auf Weiter.
  6. Auf der Seite 'Protokolldateien' klicken Sie auf Hinzufügen, um eine Protokolldatei hinzuzufügen. Prüfen Sie in dem Fenster 'Protokolldatei hinzufügen', ob sich Ihr neuer Protokolldateityp in der Liste Ausgewählte Protokolldatei befindet.
  7. Wählen Sie Ihren Protokolldateityp aus. Prüfen Sie, ob alle Felder und Texte auf der Registerkarte Details korrekt sind.
  8. Geben Sie den Wert für die Position der Protokolldatei an.
  9. Klicken Sie auf OK.
  10. Klicken Sie auf Fertig stellen, um die Protokolldatei in Ihren neuen Protokolldateityp zu importieren. Prüfen Sie, ob die Protokolldateisätze in der Sicht 'Protokoll' angezeigt werden.

Packen Ihres Protokollparser-Plug-ins für die Implementierung

Um Ihr Protokollparser-Plug-in in eine Eclipse-Workbench zu implementieren, müssen Sie die Plug-in-Dateien packen, indem Sie sie in eine ZIP-Datei exportieren. Gehen Sie folgendermaßen vor:

  1. Öffnen Sie die Datei 'plugin.xml' in einem Texteditor.
  2. Prüfen Sie nach, ob sie eine Laufzeitbibliothek-jar-Datei für Ihre Plug-in-Klassendateien enthält. Zum Beispiel:
    	<runtime>
    		<library name="parsers.jar">
    			<export name="*"/>
    		</library>
    	</runtime>
    	
  3. Um Ihren Protokollparser auf einem fernen Host zu implementieren, so dass Sie Protokolldateien von diesem fernen Host importieren können, müssen Sie eine Agent Controller-Plug-in-Konfigurationsdatei für Ihren Protokollparser erstellen. Gehen Sie hierzu folgendermaßen vor:
    1. Erstellen Sie in Ihrem Protokollparser-Plug-in einen Ordner namens 'config'.
    2. Erstellen Sie in dem Ordner 'config' eine Datei namens 'pluginconfig.xml'. Zum Beispiel:
      <?xml version="1.0" encoding="UTF-8"?>
      <PluginConfiguration>
      <Application configuration="default" 
          executable="RemoteLogParserLoader" 
          extends="default" 
          location="%RASERVER_HOME%\plugins\RulesParser_1.0.0" 
          path="%JAVA_PATH%">
      <Variable name="CLASSPATH" 
          position="prepend" 
          value="%RASERVER_HOME%\plugins\RulesParser_1.0.0\parsers.jar"/>
      </Application>
      <Option name="RulesParser" type="version" value="1.0.0"/>
      </PluginConfiguration>
      
    3. Ersetzen Sie 'RulesParser' durch den Namen Ihres Protokollparser-Plug-in-Projekts.
    Hinweis: Wenn Sie einen vorhandenen Parser erweitern, benötigen Sie einen zusätzlichen Parameter in der Datei 'pluginconfig.xml', um das Stammverzeichnis der übergeordneten Adapterdateien anzugeben. Die folgenden Parameter sind erforderlich:
     <Variable name="GLA_CONFIG_PATH" position="append" value="%RASERVER_HOME%\plugins\PARSER_PLUGIN\config"/>
       <Parameter position="append" value="config_path=%GLA_CONFIG_PATH%"/>
     
    wobei 'PARSER_PLUGIN' das Verzeichnis des Protokollparsers ist, den Sie erweitern. Das neue Element <Variable> muss als erster untergeordneter Knoten des Elements <Application> hinzugefügt werden, während das neue Element <Parameter> als letztes untergeordnetes Element des Elements <Application> hinzugefügt werden muss.
  4. Öffnen Sie die Datei build.properties in einem Texteditor.
  5. Fügen Sie den Ordner, in dem Ihre Adapterkonfigurationsdateien gespeichert sind und die Datei 'plugin.properties' der Binärerstellungsliste hinzu. Fügen Sie auch den Ordner 'config' hinzu, wenn Sie auf einem fernen Host implementieren. Es folgt ein Beispiel für eine Datei 'build.properties':
    bin.includes = MyAdapters/,\
    
    config/,\
    
    plugin.xml,\
    
    plugin.properties,\
    
    parsers.jar
    source.parsers.jar = src/
    output.parsers.jar = bin/
    
  6. Exportieren Sie die Plug-in-Dateien, indem Sie Datei > Exportieren auswählen.
  7. In dem Exportassistenten wählen Sie > 'Implementiertbare Plug-ins und Fragmente' aus.
  8. Klicken Sie auf Weiter.
  9. Auf der Seite 'Plug-ins und Fragmente exportieren' wählen Sie aus der Liste Verfügbare Plug-ins und Fragmente Ihr Plug-in aus.
  10. Wählen Sie Implementieren als eine einzelne implementierbare ZIP-Datei in dem Feld 'Exportoptionen' aus.
  11. Geben Sie den Ziel-Dateinamen für die ZIP-Datei an.
  12. Klicken Sie auf Fertig stellen.

Implementierung Ihres Protokollparsers

Sie können Ihr Protokollparser-Plug-in implementieren, indem Sie die gerade erstellte ZIP-Datei in das Plug-in-Verzeichnis einer Eclipse-Installation extrahieren. Nun können Sie unter Verwendung der Protokoll- und Traceanalysefunktion Ihr neu erstelltes Protokollparser-Plug-in testen.

Um Ihr Protokollparser-Plug-in auf einem fernen System zu implementieren, so dass eine Protokolldatei fern importiert werden kann, extrahieren Sie die gerade erstellte ZIP-Datei in das Agent Controller-Installationsverzeichnis auf de m fernen System.

 

Verwandte Konzepte
Spezifikation des Common Base Event-Formats

Verwandte Tasks
Protokollparser erstellen
Statischen Adapter erstellen
Regelbasierten Adapter erstellen
Protokollparser testen
Plug-in-Projekt für Protokollparser einrichten

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