Configuration du composant d'analyse
syntaxique pour un programme d'analyse syntaxique fondé sur des règles
Le programme d'analyse syntaxique reçoit les messages délimités
par l'extracteur et génère un ensemble de mappages de valeurs de
chaîne vers les attributs CBE.
Conditions requises :
Pour configurer le composant d'analyse syntaxique, vous devez
configurer des règles pour les deux niveaux d'exécution du programme
d'analyse syntaxique :
- Traitement global - un ensemble
de règles d'expression régulière globale sont exécutées sur les
résultats du message fournis par l'extracteur.
- Traitement des attributs - des
ensembles spécifiques de règles de substitution sont exécutés
pour déterminer la valeur à affecter à chaque attribut CBE spécifié
dans l'éditeur.
Traitement global
Le traitement global dans le composant d'analyse syntaxique prend un ensemble de règles d'expressions régulières globales et applique ces règles aux résultats de message fournis par l'extracteur.
Pour configurer les règles de traitement globales pour le composant d'analyse syntaxique, procédez comme suit :
- Dans le panneau de gauche de l'éditeur de configuration d'adaptateur, sélectionnez Configuration > Instance de contexte > Analyseur. Le panneau de droite affiche les informations sur
le programme d'analyse syntaxique.

- Entrez la description du programme d'analyse syntaxique
dans la zone Description.
- Si le journal comporte des sèmes de séparateur qui délimitent
les éléments au sein d'un enregistrement, indiquez le sème concerné
dans la zone Sème de séparateur.
Par exemple, dans le cas
de l'enregistrement de journal de l'application myapp, le sème de
séparateur entre les éléments est un espace double :
<March 14, 2004 10:25:21 EST> application:myapp severity:3 message:WARNING-file style.css missing
Il est possible de spécifier le sème de séparateur avec l'expression
régulière [ ]{2}.
- Si le journal contient des éléments dans un schéma paire nom-valeur, vous pouvez spécifier le sème qui associe le nom à la valeur dans la zone Sème de désignation. Dans le même
exemple indiqué plus haut, dans l'enregistrement de journal
myapp, le sème de désignation est un signe deux-points :.
Remarque : les blancs devant et derrière les valeurs analysées seront supprimés au cours du traitement global. C'est pourquoi les règles de substitution qui utilisent des valeurs de position peuvent être écrites en assumant que les valeurs ne sont plus précédées ni suivies de blancs.
Traitement des attributs
La seconde phase d'exécution du programme d'analyse syntaxique
s'applique aux règles de substitution spécifiques permettant
d'identifier les valeurs à affecter aux attributs CBE.
Les attributs CBE suivants sont obligatoires :
- creationTime
- situation
- sourceComponentID
Pour la liste complète des éléments Common Base Events et des attributs associés, voir Modèle Common Base Event.
Ajout et configuration d'éléments et d'attributs
Pour ajouter et configurer un élément :
- Dans le panneau de gauche de l'éditeur de configuration
d'adaptateur, sélectionnez Configuration > Instance de
contexte > Analyseur > Common Base Event.
Le panneau de
droite affiche les informations CBE.
- Pour ajouter un élément, cliquez à l'aide du bouton droit de la souris sur le noeud Common Base Event et sélectionnez l'élément à ajouter dans le menu en incrustation. L'élément est créé sous le noeud Common Base Event.
Dans l'exemple ci-après, l'élément situation est ajouté.

- Pour configurer l'élément que vous venez d'ajouter, cliquez sur ce dernier. Les propriétés de l'élément s'affichent dans la sous-fenêtre de droite.
- La case à cocher Requis par le parent permet de spécifier si cet élément doit avoir une valeur valide pour que l'élément parent soit valide.
Dans l'exemple ci-avant, si la case à cocher est sélectionnée pour l'élément situation, cela indique à l'analyseur syntaxique que l'objet Common Base Event doit avoir un élément situation valide. Au cours du traitement, si l'élément situation renvoie une valeur nulle, l'analyseur syntaxique ne traitera aucun autre élément enfant de l'objet Common Base Event car il sait déjà que cet objet Common Base Event est non valide parce qu'un élément enfant obligatoire a renvoyé une valeur non valide.
- La case à cocher Choix de l'enfant permet de spécifier s'il faut arrêter le traitement de cet élément une fois qu'un attribut ou élément d'enfant valide renvoie une valeur valide. Par exemple, observez l'élément situation ci-avant :
il compte trois éléments enfants disposant tous de leur propre sous-arborescence.
Si l'option Choix de l'enfant est sélectionnée pour l'élément situation, l'analyse s'arrête à sa première sous-arborescence qui renvoie une valeur valide. Cette fonction améliore nettement les performances des éléments d'analyse syntaxique qui ont plusieurs éléments enfants ou attributs.
Remarque : categoryName est un attribut obligatoire de situation, mais l'adaptateur de journal générique réglera categoryName sur la valeur appropriée si un des éléments de type situation renvoie une valeur.
Pour ajouter et configurer un attribut :
- Dans le panneau de gauche de l'éditeur de configuration
d'adaptateur, sélectionnez Configuration > Instance de
contexte > Analyseur > Common Base Event.
Le panneau de
droite affiche les informations CBE.
- Pour ajouter un attribut, cliquez à l'aide du bouton droit de la souris sur le noeud Common Base Event et sélectionnez l'attribut à ajouter dans le menu en incrustation. L'attribut
est créé sous le noeud Common Base Event.
L'exemple ci-après montre l'attribut msg ajouté sous le noeud Common Base Event.

- Cliquez sur l'attribut pour afficher les propriétés de l'attribut dans la sous-fenêtre de droite.
- A l'aide de l'exemple ci-dessus, si les enregistrements du
journal ne contiennent pas tous l'attribut msg, vous pouvez
cocher la case Utiliser la substitution de l'occurrence précédente
comme valeur par défaut. La valeur du dernier message concordant
est alors affectée à l'attribut msg.
- Si vous souhaitez définir une valeur par défaut pour l'attribut
msg, entrez la valeur voulue dans la zone Valeur par défaut. Cette
valeur par défaut sera utilisée uniquement s'il n'existe aucune règle
de substitution ou si aucune règle de substitution ne correspond et
que la case Utiliser la substitution de l'occurrence précédente
comme valeur par défaut n'est pas cochée ou si elle est cochée,
mais qu'aucune valeur d'occurrence précédente n'a été sauvegardée.
- La case à cocher Requis par le parent pour l'attribut permet de spécifier si cet attribut doit avoir une valeur valide pour que l'élément parent soit valide.
Ajout et configuration des règles de substitution des attributs
Pour ajouter une règle de substitution à l'attribut CBE, sélectionnez
Attribut > Ajouter > Règle de substitution. Les
détails de la règle de substitution s'affichent dans le panneau de
droite de l'éditeur.
- La zone Positions peut être utilisée lorsque
l'enregistrement de journal contient des paires nom-valeur délimitées
par un sème. Il est possible d'extraire la valeur d'une paire
nom-valeur à l'aide de l'expression $h('nameofNameValuePair').
Par exemple, si on se réfère au même enregistrement de journal
de l'application myapp :
<March 14, 2004 10:25:21 EST> application:myapp severity:3 message:WARNING-file style.css missing
avec le séparateur = []{2} et la désignation token = : , l'expression d'extraction du message est $h('message').
Pour les autres applications de la zone Positions, voir
Zone
Positions.
- La zone Occurrence spécifie un schéma à rechercher dans
l'enregistrement.
Si la zone Positions est spécifiée, la recherche
est effectuée dans une partie de l'enregistrement. Dans le cas
contraire, la recherche a lieu dans la totalité de l'enregistrement. Il est possible, dans ce schéma, de regrouper certaines données en utilisant des parenthèses dans la zone Substituer. Si le schéma correspond aux données de l'enregistrement, l'attribut CBE auquel est associée cette règle se voit attribuer une valeur reposant sur la zone Substituer. Si la zone Occurrence n'est pas renseignée, la règle est considérée comme une occurrence.
Dans l'exemple d'enregistrement de journal myapp, vous pouvez
utiliser l'expression régulière suivante pour trouver une
correspondance avec la valeur du message extrait par la zone
Positions :^(\w+)-(.*)
Ce schéma de concordance comporte deux groupes.
Le premier groupe est un ensemble de caractères situés avant un
tiret.
Le second groupe concerne tout ce qui est situé après le tiret
jusqu'à la fin de la valeur du message, comme indiqué par les
spécifications de la zone Positions.
- La zone Substituer spécifie la valeur à affecter à
l'attribut CBE comme résultat d'une correspondance. Il est possible
d'extraire les valeurs de la chaîne concordante à l'aide de
$1, $2, etc. qui représentent les groupes définis dans le schéma de
correspondance.
Dans l'exemple d'enregistrement de journal myapp, si vous
souhaitez uniquement affecter la valeur de l'avertissement à
l'attribut CBE, spécifiez la substitution sous la forme $2.

- La Classe d'extension de substitution peut être utilisée
si vous souhaitez exécuter la logique de l'analyse syntaxique
personnalisée sur la valeur correspondant aux zones Positions,
Occurrence et Substituer.
La classe utilisateur doit implémenter l'interface de
l'adaptateur de journal générique
org.eclipse.hyades.logging.adapter.parsers.ISubstitutionExtension
pour qu'elle soit exécutée par l'adaptateur de journal
générique.
- La zone Format de l'heure peut être utilisée pour
créer une règle de substitution pour l'attribut creationTime.
Spécifiez une chaîne de schéma d'heure Java dans cette zone. Le schéma entré sera utilisé pour analyser la syntaxe de la valeur
correspondant aux zones Positions, Occurrence et Substituer à l'aide
de la classe java.text.SimpleDateFormat pour
la génération de la date en tant que valeur longue.
Cette valeur est
sert ensuite à générer la valeur de chaîne de la date au format
dateTime de schéma XML requis par Common Base Event.
Dans l'exemple d'enregistrement de journal myapp, la règle
Format de l'heure est la suivante :
- Appliquez les modifications effectuées en sauvegardant le
fichier de configuration d'adaptateur.
- Pour tester vos règles, cliquez sur l'icône Ré-exécuter l'adaptateur
pour exécuter l'adaptateur. Les résultats s'affichent dans la vue Résultat du formateur.
Conseil : vous pouvez spécifier le numéro de l'enregistrement à partir duquel vous souhaitez visualiser les résultats. Utilisez le menu déroulant de l'icône Réexécuter l'adaptateur et sélectionnez Commencer à l'enregistrement. Cela ouvre une boîte de dialogue dans laquelle vous pouvez spécifier le numéro de l'enregistrement auquel vous souhaitez commencer.
- Cliquez sur l'icône Afficher l'événement suivant
pour visualiser les attributs CBE générés à l'aide des règles que
vous avez rédigées.
Remarque : pour plus
d'informations sur le format de date simple Java, voir
la javadoc java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html.
Une fois les règles du programme d'analyse syntaxique
terminées, vous pouvez configurer le composant outputter du
fichier de configuration d'adaptateur.
Concepts connexes
Présentation de l'adaptateur de journal générique Hyades
Spécification du format Common Base Event
Tâches connexes
Configuration du composant outputter
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.