Rédaction d'une classe Java pour l'adaptateur statique
Lors de la création d'un programme d'analyse de journal statique,
les composants extracteur, d'analyse syntaxique et de formatage du
fichier de configuration d'adaptateur sont remplacés par une classe
Java. La classe du programme d'analyse syntaxique statique doit
implémenter l'interface org.eclipse.hyades.logging.parser.IParser.
Pour ce faire, étendez la classe abstraite org.eclipse.hyades.logging.parser.Parser ou org.eclipse.hyades.logging.parser.MonitoringParser.
Cette classe devrait être utilisée lorsque vous créez un programme d'analyse syntaxique statique pour analyser des fichiers journal qui ne sont plus mis à jour ou pour analyser une seule fois un fichier de journal pendant l'exécution du contexte. Si cette classe est utilisée, l'instance Contexte doit être configurée de sorte que la case opération Continue ne soit pas sélectionnée.
- Ajoutez une instruction d'importation import org.eclipse.hyades.logging.parsers.Parser;.
- Ajoutez les méthodes suivantes à la classe :
- public void setConfiguration(Hashtable)
Cette méthode est appelée par l'adaptateur de journal générique pour
fournir des informations de configuration à la classe du programme
d'analyse syntaxique statique spécifiée par l'utilisateur dans
l'assistant Importation du fichier journal ou est fournie dans le
fichier de configuration d'adaptateur.
- public void preParse()
Il s'agit de l'emplacement dans lequel le travail d'initialisation,
le cas échéant, est exécuté (par exemple, l'établissement des
connexions).
- pubic void parser(Log)
L'implémentation de cette méthode n'est pas obligatoire. Elle peut
être héritée de org.eclipse.hyades.logging.parsers.Parser.
- public ICommonBaseEvent[] parseNext()
Cette méthode exécute la majorité de la logique pour analyser le
fichier journal, par exemple lors de l'analyse d'un ensemble
d'enregistrements et du renvoi d'un tableau d'objets CBE qui
représentent les données de cet ensemble.
- public void postParse()
Site d'exécution des tâches de nettoyage.
Remarque : la méthode protégée Parser.readALine() peut être utilisée pour lire des données depuis le fichier journal. Cette méthode lit le fichier journal ligne par ligne et émet une exception si une erreur se produit pendant la lecture du fichier. L'exception contient les informations concernant les causes de l'échec de lecture. La méthode existante readLine() qui renvoie la valeur NULL si une erreur se produit a été retirée de cette version.
Cette classe devrait être utilisée lorsque vous devez créer un programme d'analyse syntaxique statique pouvant surveiller un fichier journal en continu. Remarque : cette classe autorise la surveillance d'un fichier journal, et ce, même si ce dernier n'existe pas au moment où la surveillance débute. La classe abstraite org.eclipse.hyades.logging.parser.MonitoringParser doit être étendue. Cette classe étend la classe Parser.
Implémentez les méthodes comme décrit pour la classe Parser, mais veuillez prendre en compte ce qui suit :
- Ajoutez une instruction d'importation import org.eclipse.hyades.logging.parser.MonitoringParser.
- Si les méthodes Parser suivantes sont substituées, assurez-vous que les méthodes correspondantes à la classe supérieure sont appelées par les méthodes de substitution :
- setConfiguration()
- readALine()
- postParse()
- Ajoutez un appel à setEndOfFile() dans la méthode parseNext() avant qu'il ne renvoie la valeur NULL pour indiquer qu'il n'y a actuellement plus d'enregistrement analysé à renvoyer.
Au prochain appel de readALine(), le fichier journal sera contrôlé pour déterminer si le fichier a été modifié et s'il contient de nouveaux enregistrements à analyser.
- Si le programme d'analyse syntaxique statique nécessite une commande pour convertir le fichier journal dans un format plus facilement analysable ou pour générer le fichier journal, cette commande doit être indiquée dans la classe MonitoringParser en utilisant l'un des appels de méthodes suivants après avoir appelé setConfiguration() :
setConverterCommand(String) ou setConverterCommand(String[]).
Si la commande enregistre les données du journal dans un fichier dont le nom est différent de celui spécifié dans les paramètres de configuration dans setConfiguration(), le nouveau nom du fichier journal doit être indiqué dans la classe MonitoringParser en utilisant la méthode setFilename(String).
Remarque :
- Le plug-in org.eclipse.hyades.logging.parsers dépend désormais du plug-in org.eclipse.hyades.logging.adapter.
- La classe MonitoringParser ne fournit pas d'accès direct au fichier journal, à l'exception de la méthode readALine().
Les programmes d'analyse syntaxique statiques qui utilisent logFile de la classe Parser pour lire les données directement depuis le fichier journal doivent être modifiés pour utiliser la méthode readALine().
Lorsque vous avez rédigé et testé la classe Java du programme
d'analyse syntaxique, vous pouvez configurer le composant détecteur
du fichier de configuration d'adaptateur et faire référence à cette
classe.
.
Concepts connexes
Présentation de l'adaptateur de journal générique Hyades
Spécification du format Common Base Event
Tâches connexes
Création d'un programme d'analyse syntaxique de journal
Création d'un adaptateur statique
Configuration du composant détecteur
Références connexes
Structure du fichier de configuration d'adaptateur
Editeur de configuration d'adaptateur
Syntaxe d'une expression régulière
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.