Types d'événements de trace et de messages JRas
Le message JRas et mes types d'événements de base sont différents de ceux reconnus en natif par WebSphere Application Server, de sorte que les types JRas sont mappés sur les types natifs de l'environnement d'exécution. Vous pouvez contrôler la manière dont les événements de trace et de messages JRas sont traités à l'aide de filtres personnalisés et de commandes de message.
Types d'événements
La structure JRas décrite dans cette tâche et ses sous-tâches est obsolète. Toutefois, vous pouvez atteindre des résultats similaires à l'aide de la consignation Java™.
Le message et les types d'événements de trace de base définis par le jeu d'outils de consignation JRas autonome sont différents des types natifs reconns par l'environnement d'exécution WebSphere Application Server. A la place, les types JRas de base sont mappés vers les types natifs. Ce mappage peut varier selon la plateforme ou l'édition. Le mappage est présenté dans la section suivante.
Types d'événements de messages de plateforme
Type natif de WebSphere Application Server | Type JRas RASIMessageEvent |
---|---|
Audit | TYPE_INFO, TYPE_INFORMATION |
Avertissement | TYPE_WARN, TYPE_WARNING |
Erreur | TYPE_ERR, TYPE_ERROR |
Les
développeurs d'applications peuvent utiliser JRas pour émettre un message
MVS WTO (write to operator) en utilisant
un type JRas RASIMessageEvent TYPE_INFO ou TYPE_INFORMATION pour émettre une trace d'audit
WebSphere
Application Server for
z/OS. Une trace d'audit
WebSphere
Application Server for
z/OS est mappée vers un message
MVS route code 11 WTO (copie papier WTO).
Types d'événements de trace de plateforme
- Aux utilisateurs qui préfèrent une série simple de niveaux, l'interface RASITraceEvent propose TYPE_LEVEL1, TYPE_LEVEL2 et TYPE_LEVEL3. Les implémentations prennent en charge cette série de niveaux. Les niveaux sont hiérarchisés, c'est-à-dire que l'activation du niveau 2 active aussi le niveau 1 et que celle du niveau 3 active aussi les niveaux 1 et 2.
- Aux utilisateurs qui préfèrent une série de valeurs plus complexes pouvant être OR'd ensemble, l'interface RASITraceEvent fournit TYPE_API, TYPE_CALLBACK, TYPE_ENTRY_EXIT, TYPE_ERROR_EXC, TYPE_MISC_DATA, TYPE_OBJ_CREATE, TYPE_OBJ_DELETE, TYPE_PRIVATE, TYPE_PUBLIC, TYPE_STATIC et TYPE_SVC.
Les types d'événements de trace sont mappés vers les types de trace natifs comme suit :
Type natif de WebSphere Application Server | Type de niveau JRas RASITraceEvent |
---|---|
Evénement | TYPE_LEVEL1 |
EntryExit | TYPE_LEVEL2 |
Débogage | TYPE_LEVEL3 |
Type natif de WebSphere Application Server | Types énumératifs JRas RASITraceEvent |
---|---|
Evénement | TYPE_ERROR_EXC, TYPE_SVC, TYPE_OBJ_CREATE, TYPE_OBJ_DELETE |
EntryExit | TYPE_ENTRY_EXIT, TYPE_API, TYPE_CALLBACK, TYPE_PRIVATE, TYPE_PUBLIC, TYPE_STATIC |
Débogage | TYPE_MISC_DATA |
Par souci de simplicité, il est préférable que l'une ou l'autre des méthodologies de type de trace soit utilisée de manière cohérente dans toute l'application. Si vous décidez d'utiliser des types n'ayant pas de niveaux, choisissez un type de chaque catégorie et utiliser ces types de manière cohérente dans toute l'application pour éviter toute confusion.
Paramètres de trace et de message
- Primitives
- Les primitives, telles que int et long ne sont pas reconnues en tant que sous-classes du type et ne peuvent être transmises directement à l'une de ces méthodes. Une valeur primitive doit être transformée en son type Object correct (Integer, Long) avant transmission en tant que paramètre.
- Objet
- La méthode toString est appelée sur l'objet et la Chaîne résultante s'affiche. Implémentez la méthode toString de manière appropriée pour tous les objets transmis à une méthode de consignation de message ou de trace. C'est à l'appelant de s'assurer que la méthode toString n'affiche pas en clair de données confidentielles, telles que les mots de passe et ne provoque pas de récursivité infinie.
- Object[]
- Le type Object[] répond aux besoins de transmission de plusieurs paramètres dans une méthode de consignation de message ou de trace. La méthode toString est appelée sur chaque Object du tableau. Les tableaux imbriqués ne sont pas traités, c'est-à-dire qu'aucun élément du tableau Object n'appartient à un tableau.
- Throwable
- La trace de pile du type Throwable est retrouvée et affichée.
- Tableau de primitives
- En Java,
un tableau de types primitifs tel que byte[] ou int[] n'est que vaguement considéré comme
un Object. En règle générale, évitez les tableaux de primitives, si possible. Si vous transmettez des tableaux de primitives, les résultats ne sont pas garantis et peuvent varier selon le type de tableau
transmis, l'API utilisée pour le transmettre et la version du produit. Pour une cohérence des résultats, le code utilisateur doit pré-traiter et formater le tableau de primitives en type chaîne avant de le transmettre à la méthode. Si ce pré-traitement n'est pas effectué,
le résultat ci-après est à prévoir :
- [B@924586a0b - Ce message est déchiffré comme un tableau octal à l'emplacement X. Généralement, ce message est renvoyé lorsqu'un tableau est transmis en tant que membre d'un type Object[] et résulte d'un appel de la méthode toString sur le type byte[].
- Argument de trace interdit : tableau trop long. Réponse généralement renvoyée lorsqu'un tableau de primitives est transmis à une méthode intégrant un Object.
- 01040703 : Représentation hexadécimale d'un tableau d'octal. Réponse généralement renvoyée lorsqu'un tableau d'octal est transmis à une méthode intégrant un seul Object. Ce comportement étant instable, il est préférable de ne pas s'y attacher.
- "1" "2" : Représentation de chaîne des membres d'un int[] formé par conversion de chaque élément en un entier appelant la méthode toString sur les entiers. Ce comportement étant instable, il est préférable de ne pas s'y attacher.
- [Ljava.lang.Object;@9136fa0b : Tableau d'objets. Réponse généralement renvoyée lorsqu'un tableau contenant des tableaux imbriqués est transmis.
Contrôle de la consignation de message
- Le type d'événement de message doit être l'un de ceux définis dans l'interface RASIMessageEvent.
- La consignation de ce type d'événement de message doit être activée par l'état du masque du consignateur de messages.
- Le type d'événement de message doit transmettre tous les critères de filtrage établis par l'environnement d'exécution WebSphere Application Server.
Lorsque vous obtenez de la classe du gestionnaire un consignateur WebSphere Application Server , le masque est initialement paramétré pour transmettre tous les types d'événement de message natifs au gestionnaire WebSphere Application Server. Vous pouvez contrôler les messages consignés en paramétrant par programme l'état du masque du consignateur de messages.
Certaines éditions du produit prennent en charge les niveaux du filtre de messages spécifiés par l'utilisateur pour un processus serveur. Lorsqu'un niveau de filtrage est défini, seuls les messages du niveau de gravité stipulé sont inscrits dans WebSphere Application Server. Les types de message pour lesquels la vérification du masque du consignateur de messages est positive peuvent être filtrés par WebSphere Application Server.
Commande du traçage
Chaque édition du produit fournit un mécanisme permettant d'activer ou de désactiver la fonction de trace. Les diverses éditions prennent en charge l'activation de trace statique (les paramètres de trace sont spécifiés avant démarrage du serveur), l'activation de trace dynamique (les paramètres de trace d'un processus serveur en cours son modifiables dynamiquement), ou les deux.
- Le type d'événement de trace doit être l'un de ceux définis dans l'interface RASITraceEvent.
- La consignation de ce type d'événement de trace doit être activée par l'état du masque du consignateur de traces.
- Le type d'événement de trace doit transmettre tous les critères de filtrage établis par l'environnement d'exécution WebSphere Application Server.
Lorsque vous obtenez un consignateur de la classe gestionnaire, le masque est initialement paramétré pour supprimer tous les types de traces. Il existe une exception à cette règle dans le cas où l'environnement d'exécution WebSphere Application Server prend en charge l'activation de trace statique et qu'un état de démarrage de la trace autre que celui par défaut a été spécifié pour ce consignateur de traces. A la différence des consignateurs de messages, WebSphere Application Server peut modifier dynamiquement l'état d'un masque de trace de consignateur de traces. WebSphere Application Server ne modifie que la portion du masque de consignateur de traces correspondant aux valeurs définies dans l'interface RASITraceEvent. WebSphere Application Server ne modifie pas les bits non définis du masque pouvant être utilisés pour les types définis par l'utilisateur.
Lorsque la fonction d'activation de trace dynamique disponible sur certaines plateforme est utilisée, la modification de l'état de trace se reflète à la fois dans l'environnement d'exécution du serveur d'applications et dans le masque de trace du consignateur de traces. Si le code utilisateur change par programmation les bits du masque de trace correspondant aux valeurs définies dans l'interface RASITraceEvent, l'état du masque du consignateur de traces et l'état de l'environnement d'exécution ne sont plus synchrones et les résultats deviennent imprévisibles. En conséquence, la modification par programmation des bits du masque de trace correspondant aux valeurs définies dans l'interface RASITraceEvent n'est pas prise en charge.