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.

Extension de la classe Parser

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.

  1. Ajoutez une instruction d'importation import org.eclipse.hyades.logging.parsers.Parser;.
  2. Ajoutez les méthodes suivantes à la classe :

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.

Extension de la classe MonitoringParser

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 :

  1. Ajoutez une instruction d'importation import org.eclipse.hyades.logging.parser.MonitoringParser.
  2. 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 :
  3. 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.
  4. 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 :

  1. Le plug-in org.eclipse.hyades.logging.parsers dépend désormais du plug-in org.eclipse.hyades.logging.adapter.
  2. 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