Scrittura di una classe Java per l'adattatore statico
Nella creazione di un programma di analisi di log statico, i componenti estrattore, programma di analisi e programma di formattazione del file di configurazione dell'adattatore vengono sostituiti da una classe Java. La classe del programma di analisi statico deve implementare l'interfaccia org.eclipse.hyades.logging.parser.IParser.
È possibile far ciò estendendo una delle classi astratte org.eclipse.hyades.logging.parser.Parser o
org.eclipse.hyades.logging.parser.MonitoringParser.
Espansione della classe di programma di analisi
È necessario utilizzare tale classe durante la creazione di un programma di analisi statico per analizzare i file di log che non sono più aggiornati o per analizzare un file di log una volta durante l'esecuzione del contesto.
Se questa classe viene utilizzata, l'Istanza di contesto deve essere configurata con la casella di controllo Operazione deselezionata.
- Aggiungere un'istruzione di importazione import org.eclipse.hyades.logging.parsers.Parser;.
- Aggiungere alla classe i seguenti metodi:
- public void setConfiguration(Hashtable)
Questo metodo viene richiamato dall'Adattatore di log generico per fornire informazioni di configurazione alla classe del programma di analisi statico specificata dall'utente nella procedura guidata Importa file di log o fornita nel file di configurazione dell'adattatore.
- public void preParse()
Questo è il punto in cui viene eseguito il lavoro di inizializzazione (se applicabile), ad esempio le connessioni.
- pubic void parser(Log)
L'implementazione di questo metodo non è richiesta.
Può essere ereditata da org.eclipse.hyades.logging.parsers.Parser.
- public ICommonBaseEvent[] parseNext()
Questo metodo eseguirà la gran parte della logica per analizzare il file di log, ad esempio l'analisi di un insieme di record e la restituzione di una matrice di oggetti di Common Base Event che rappresentano i dati in questo insieme di record.
- public void postParse()
Questo è il punto in cui vengono eseguite le attività di pulitura.
Nota: è possibile utilizzare il metodo protetto Parser.readALine() per leggere i dati dal file di log. Questo metodo consente la lettura di una riga dal file di log, avviando un'eccezione se si verifica un errore durante la lettura del file. L'eccezione conterrà informazioni sui motivi della lettura non riuscita. Il metodo readLine() esistente, che restituisce null quando si verifica un errore, è stato sconsigliato in questa rilascio.
Espansione della classe MonitoringParser
È necessario utilizzare questa classe quando si crea un programma di analisi statico che può controllare in modo continuo un file di log. Nota: questa classe consentirà a un file di log di essere controllato anche se il file di log non esiste nel momento di inizio del controllo.
È necessario espandere la classe astratta org.eclipse.hyades.logging.parser.MonitoringParser. Tale classe espande la classe del Programma di analisi.
Implementare i metodi come descritto per la classe del programma di analisi e prendere nota di quanto segue:
- Aggiungere un'istruzione di importazione import org.eclipse.hyades.logging.parser.MonitoringParser.
- Qualora i seguenti metodi di programma di analisi vengano sostituiti, assicurarsi che i corrispondenti metodi della superclasse siano richiamati dai metodi di sostituzione:
- setConfiguration()
- readALine()
- postParse()
- Aggiungere una chiamata a setEndOfFile() nel metodo parseNext()
prima che restituisca null, per indicare che non ci sono attualmente altri record analizzati da restituire.
Ciò assicura che la volta successiva che readALine() viene richiamato,
il file di log verrà esaminato per determinare se il file è stato modificato e ha nuovi record da analizzare.
- Se il programma di analisi statico richiede un comando per convertire il file di log in un formato più semplice da analizzare o per generare il file di log, è necessario che sia specificato alla classe MonitoringParser dopo la chiamata di setConfiguration() tramite una delle chiamate di metodi seguenti:
setConverterCommand(String) o setConverterCommand(String[]).
Se il comando scrive i dati di registrazione in un file con un nome diverso da quello specificato nei parametri di configurazione in setConfiguration(), il nuovo nome del file di log deve essere specificato alla classe MonitoringParser tramite il metodo setFilename(String).
Nota:
- Il plugin org.eclipse.hyades.logging.parsers dipende adesso dal plugin org.eclipse.hyades.logging.adapter.
- La classe MonitoringParser non fornisce accesso diretto al file di log tranne per il metodo readALine().
I programmi di analisi statici che utilizzano attualmente il membro logFile della classe di programma di analisi per leggere direttamente i dati dal file di log devono essere modificati per utilizzare il metodo readALine().
Una volta scritta e verificata la classe del programma di analisi Java, è possibile configurare il componente sensore del file di configurazione dell'adattatore per indicare questa classe.
Argomenti correlati
Panoramica dell'Adattatore di log generico Hyades
Specifica del formato di Common Base Event
Attività correlate
Creazione di un programma di analisi di log
Creazione di un adattatore statico
Configurazione del componente sensore
Riferimenti correlati
Struttura del file di configurazione dell'adattatore
Editor configurazione adattatore
Grammatica espressione regolare
(C) Copyright IBM Corporation 2000, 2005. Tutti i diritti riservati.