Présentation de la propriété wrapper.filter.<x>.<n> |
|
Les filtres sont une fonctionnalité très puissante qui permet d'ajouter un nouveau comportement à des applications existantes sans aucun codage. Ils fonctionnent en surveillant la sortie console d'une JVM à la recherche de séquences de texte. Lorsqu'elles sont trouvées, un nombre quelconque d'actions peut alors être entrepris. Un exemple consiste à déclencher un redémarrage de la JVM chaque fois qu'une erreur spécifique se produit. Certaines applications ont des bogues connus où elles cessent de fonctionner une fois qu'elles se trouvent dans un certain état. Cette fonctionnalité permet de contourner de tels problèmes immédiatement jusqu'à ce qu'ils puissent être résolus dans l'application. Les propriétés utilisées pour configurer les filtres sont décrites ci-dessous :
Au minimum, un filtre doit définir les propriétés
wrapper. Composant <n> :
Dans chaque filtre, le composant « <n> » du nom de la propriété est un nombre entier commençant à « 1 ».
Par défaut, la numérotation doit être séquentielle, sans lacunes.
La propriété wrapper. Le Wrapper analysera les filtres définis dans l'ordre croissant en utilisant leur numéro <n>. Dès qu'un filtre correspond, le processus s'arrêtera pour cette ligne de sortie. Un certain nombre d'exemples d'utilisation se trouvent ci-dessous : |
wrapper.filter.trigger.<n> |
||||||||||
Le déclencheur (trigger) peut être n'importe quelle chaîne, et la propriété suivante est requise pour sa configuration.
Espaces dans le déclencheur : La chaîne filtrée peut contenir des espaces. Cependant, en raison de la façon dont les propriétés de configuration sont chargées en général, tout espace en début ou en fin de chaîne sera supprimé lors du chargement de la propriété.
Caractères génériques :
À partir de la version 3.5.5 du Wrapper, il est
désormais possible d'inclure des caractères génériques (« * » ou « ? ») dans le texte du déclencheur si la
propriété wrapper. Les caractères génériques valides sont :
NOTELes valeurs de déclencheur seront localisées quelque part dans une seule ligne de sortie, il n'est donc pas nécessaire de faire précéder ou suivre une valeur d'un caractère générique « * ». Veuillez noter que cela nuira en fait un peu aux performances de journalisation, car cela rend beaucoup plus difficile pour la correspondance de motifs de déterminer qu'un déclencheur donné N'EST PAS trouvé dans une ligne de sortie de journal. |
wrapper.filter.action.<n> |
||||||||||
La spécification d'une action nécessite que la propriété suivante soit configurée. Si une action est omise, elle sera définie par défaut sur RESTART.
Les actions possibles sont :
Enchaînement de plusieurs actions : À partir de la version 3.5.0 du Wrapper, il est possible de spécifier plus d'une action en les séparant par un espace ou une virgule. Lorsque plus d'une action est spécifiée, elles seront exécutées en succession rapide dans l'ordre spécifié. En correspondance avec le déclencheur, l'exemple suivant effectuera un vidage des threads, puis redémarrera la JVM.
|
wrapper.filter.allow_wildcards.<n> |
||||||||
Si elle est définie sur TRUE, cette propriété indique au Wrapper de traiter tous les caractères génériques trouvés dans
wrapper.
NOTECe n'est pas si grave, mais la recherche d'un déclencheur contenant un caractère générique peut être un peu plus gourmande en processeur. Cela est particulièrement vrai avec de longues lignes de sortie lorsque les caractères génériques du déclencheur se trouvent vers le début du déclencheur. Plusieurs caractères génériques dans le même déclencheur ralentiront également les choses, car le Wrapper doit essayer toutes les combinaisons possibles pour voir si le motif correspond. |
Exemples d'utilisation : |
||||||||||||||||||||||||||||||||||||||
|
Dans cette section, nous vous montrerons plusieurs exemples d'utilisation des déclencheurs. Les filtres fonctionnent en surveillant la sortie console de la JVM. Pour qu'un déclencheur soit activé par une exception, l'application Java doit imprimer le message filtré sur la console.
|









