Creazione di un componente personalizzato

L'Adattatore di log generico fornisce un numero di componenti predefiniti utilizzabili per creare adattatori per l'elaborazione di file di log di applicazione. Se tali componenti non soddisfano i requisiti, l'Adattatore di log generico può espandersi creando i componenti personalizzati che possono essere inclusi nel contesto di un file di configurazione di adattatore.

Per creare un componente personalizzato, procedere come segue:

Estrarre il codice di origine dell'Adattatore di log generico

Se si desidera far riferimento al codice di origine dell'Adattatore di log generico quando si sviluppa il proprio componente Adattatore di log generico, verificare il progetto plugin org.eclipse.hyades.logging.adapter nel repository CVS Eclipse. Per effettuare questa operazione:

Creare una classe Java

È necessario creare una classe Java contenente il codice del nuovo componente:

  1. Creare un progetto plugin che contenga il nuovo componente.
  2. Creare una classe Java all'interno del progetto. A seconda del ruolo del nuovo componente, sarà implementata una delle seguenti interfacce definite nel pacchetto org.eclipse.hyades.logging.adapter:
    IProcessUnit
    espande IComponent con i metodi per l'elaborazione del componente. Le matrici di oggetto vengono passate tra i componenti in modo che il metodo di elaborazione principale, processEventItems, prenda come ingresso una matrice di oggetti e restituisca una matrice di oggetti. Tutti i componenti devono implementare IProcessUnit. IComponent include i metodi getter e setter per tutte le proprietà del componente, un metodo di aggiornamento per ottenere le proprietà del componente dalla configurazione e i metodi per avviare e arrestare il componente.
    ISensor
    espande IProcessUnit. Deve essere utilizzato quando si implementa un componente sensore. Il metodogetNext restituisce il gruppo di dati successivo che è stato percepito dall'origine. Il metodo flush ripulisce qualsiasi dato restante dall'origine che è stata conservata nella cache dal sensore. L'interfaccia include anche un getter e setter per il tipo di sensore come definito nel file di schema sensore sensor.xsd.
    IExtractor
    espande IProcessUnit. Deve essere utilizzato quando si implementa un componente estrattore. Poiché un sensore restituisce tipicamente i dati all'estrattore come stringhe e l'estrattore estrae messaggi completi da queste stringhe, un estrattore deve implementare un metodo processStrings che riceve come ingresso una matrice di stringhe e restituisce una matrice di oggetti MessageString. La classee MessageString class viene definita anche nel pacchetto org.eclipse.hyades.logging.adapter.
    IParser
    espande IProcessUnit. Deve essere utilizzato quando si implementa un componente programma di analisi.
    IFormatter
    espande IProcessUnit. Deve essere utilizzato quando si implementa un componente programma di formattazione.
    IOutputter
    espande IProcessUnit. Deve essere utilizzato quando si implementa un componente programma di creazione output.

    Un'altra opzione nella creazione di una nuova classe di componente è quella di espandere le classi di implementazione predefinite per IComponent, IProcessUnit, ISensor e IExtractor nel pacchetto org.eclipse.hyades.logging.adapter.impl. Ci sono esempi di componenti nei pacchetti di componente associati nel progetto org.eclipse.hyades.logging.adapter.

  3. Una volta completato il codice, salvare le modifiche.

Aggiungere le dipendenze plugins

Poiché si stanno espandendo le classi di Adattatore di log generico, è necessario includere il plugin dell'adattatore e le relative dipendenze nel proprio plugin.

  1. Aprire il file plugin.xml e aggiungere le seguenti dipendenze:
    org.eclipse.hyades.logging.adapter
    org.eclipse.hyades.logging.core

Configurare il plugin come estensione

Per configurare il plugin come estensione di un componente dell'Adattatore di log generico:

  1. Aggiungere le seguenti estensioni al file plugin.xml:
    <extension
       point="org.eclipse.hyades.logging.adapter.adapterComponent"> 
      <componentClassname 
            name="executable_class_name"> 
      </componentClassname> 
       </extension>
    
    dove executable_class_name è il nome della classe Java creata per implementare il nuovo componente di Adattatore di log generico.
  2. Salvare il file plugin.xml.

 

Attività correlate
Verifica di un componente personalizzato