Descriptions des propriétés de journalisation et de trace du composant pureQuery

Sur les applications Java, vous pouvez contrôler les niveaux de journalisation de différents composants pureQuery tels que l'interface de programmation d'application pureQuery Runtime, l'optimisation de client pureQuery et la surveillance CMX. Vous pouvez également envoyer les événements de journal de base de données surveillés par pureQuery Runtime vers un référentiel.

pureQuery utilise le cadre java.util.logging. Pour obtenir des informations sur la journalisation pureQuery et la structure java.util.logging, voir Notes concernant l'utilisation de l'application Java.

Paramètres de journalisation du composant pureQuery

La journalisation basée sur le composant pureQuery prend en charge les niveaux de journalisation suivants. Voici l'ordre des niveaux de détail dans l'ordre croissant :
  • OFF
  • SEVERE
  • WARNING
  • INFO
  • CONFIG
  • FINE
  • FINER
  • FINEST
  • ALL
Le niveau par défaut est OFF.
Les propriétés pureQuery Runtime suivantes contrôlent la journalisation basée sur le composant pureQuery :
com.ibm.pdq
Indiquez le niveau de journalisation de l'ensemble des composants pureQuery si aucun composant plus spécifique n'est indiqué.
com.ibm.pdq.api
Indiquez le niveau de journalisation lors de l'exécution d'une méthode intégrée ou d'une interface de programmation d'application de style DAO
com.ibm.pdq.api.static
Indiquez le niveau de journalisation lorsque le DAO pureQuery Runtime s'exécute en mode statique
com.ibm.pdq.api.dynamic
Indiquez le niveau de journalisation lorsque le DAO pureQuery Runtime s'exécute en mode dynamique
com.ibm.pdq.co
Indiquez le niveau de journalisation lorsque l'optimisation de client pureQuery exécute une instruction SQL.
com.ibm.pdq.co.static
Indiquez le niveau de journalisation lorsque l'optimisation de client pureQuery exécute une instruction SQL de façon statique.
com.ibm.pdq.co.dynamic
Indiquez le niveau de journalisation lorsque l'optimisation de client pureQuery exécute une instruction SQL de façon dynamique.
com.ibm.pdq.cmx
Indiquez le niveau de journalisation de la surveillance client CMX.
com.ibm.pdq.database
Indiquez le niveau de journalisation pour consigner les événements de base de données enregistrés par pureQuery Runtime. Le paramètre de niveau de journalisation doit être explicitement défini pour cette propriété. La propriété n'est pas une propriété enfant de la propriété com.ibm.pdq.

Le tableau suivant répertorie les événements de base de données consignés pour la propriété com.ibm.pdq.database.

Tableau 1. Niveau de journalisation des événements de base de données pureQuery
Niveau de journalisation Evénement de base de données
CONFIG Erreurs SQL répertoriées dans dumpLogsOnSqlCodes et non répertoriées dans dumpLogsExcludedSqlCodes
FINE Actualiser les propriétés pureQuery à partir d'un référentiel
FINER Fonction PREPARE dynamique d'une instruction SQL par l'optimisation de client pureQuery
FINEST Fonction PREPARE statique d'une instruction SQL par l'optimisation de client SQL

Si l'application est configurée pour utiliser un référentiel pour les données pureQuery data, pureQuery Runtime peut stocker un petit sous-ensemble des enregistrements de journaux dans le référentiel. Le référentiel doit être spécifié dans le fichier pdq.properties global. Les emplacements de référentiels spécifiés au niveau de l'application ou de la source de données sont ignorés pour la journalisation.

Les enregistrements de journaux sont stockés dans la table IBMPDQ.LOG. Pour afficher tous les enregistrements de journaux stockés dans le référentiel, vous pouvez émettre l'instruction SQL suivante :
 select * from ibmpdq.log
Remarque : Avant de pouvoir stocker les enregistrements de journaux dans un référentiel existant, il peut s'avérer nécessaire de mettre à niveau le référentiel. Voir l'option -upgrade de l'utilitaire ManageRepository.

Remarques sur l'utilisation

Sous les comptes d'utilisateurs Java autonomes, les niveaux de journalisation peuvent être gérés à l'aide du fichier pureQuery Runtime pdq.properties ou par d'autres moyens. Si l'application gère la journalisation du composant pureQuery avec le fichier pdq.properties, le fichier journal peut se trouver sur le disque ou les contenus du journal peuvent être stockés dans un référentiel. Pour contrôler les niveaux de journalisation du composant pureQuery, JRE prend en charge le fichier logging.properties dans le dossier JRE/lib.

Concernant les propriétés de journalisation du composant pureQuery, les propriétés de journal enfant héritent des paramètres du niveau parent. Vous pouvez modifier les paramètres du niveau parent en définissant de façon explicite les propriétés du journal enfant.

Par exemple, si vous définissez uniquement le niveau de journalisation de la propriété com.ibm.pdq.co sur FINE, le niveau de journalisation des propriétés enfant com.ibm.pdq.co.static et com.ibm.pdq.co,dynamic sera également FINE.

Vous pouvez utiliser les méthodes fournies par java.util.logging pour définir les niveaux de journalisation. Les méthodes des gestionnaires de journaux java.util.logging peuvent être différents sur d'autres applications.

Si vous ne définissez pas de niveau de journalisation sur l'une des propriétés de journal du composant pureQuery, elles héritent du niveau du parent (par exemple, com.ibm) dans un environnement WebSphere.

Dans l'exemple suivant sur WebSphere Application Server, les propriétés de journalisation du composant pureQuery sont définies sur ALL :

com.ibm.pdq.*=all 

Spécification du niveau de trace sur les propriétés du composant pureQuery Runtime

Pour définir les niveaux de consignation de trace du composant pureQuery, utilisez la syntaxe suivante dans le fichier pdq.properties global :

pdq.traceLevel=OFF
pdq.traceLevel.com.ibm.pdq.co=FINER
pdq.traceLevel.com.ibm.pdq.co.static=FINE

Ces propriétés pureQuery Runtime peuvent être spécifiées dans un fichier pdq.properties sur disque ou dans un référentiel. Lorsque pureQuery Runtime actualise les propriétés du référentiel à intervalles réguliers, les niveaux de journalisation sont appliqués aux gestionnaires de journaux pureQuery.

Il n'existe pas d'équivalent à pdq.traceFile pour les propriétés de journalisation du composant pureQuery.

Spécification des propriétés de trace pureQuery Runtime à partir d'un référentiel

Les propriétés pureQuery Runtime utilisées pour la trace de pdq.traceLevel et pdq.traceLevel.com.ibm.pdq.* ainsi que la propriété dumpLogsOnSqlCodes peuvent être utilisées dans un référentiel. Vous définissez les propriétés pureQuery Runtime dans un fichier pdq.properties et téléchargez les informations du fichier dans un référentiel. Si vous avez spécifié un intervalle d'actualisation de référentiel, les propriétés de journal mises à jour sont lues à partir du référentiel à l'heure indiquée et sont appliquées à l'application activée à l'aide de pureQuery Runtime.

Le référentiel doit être spécifié dans le fichier pdq.properties global. Les emplacements de référentiel spécifiés au niveau de l'application ou de la source de données sont ignorés pour la journalisation.

Vous pouvez utiliser l'utilitaire ManageRepository avec l'option -pureQueryProperties pour télécharger un fichier de propriétés pureQuery Runtime sur un référentiel. La commande suivante est exécutée à partir d'un script. Elle télécharge le fichier pdq.properties contenant les niveaux de trace dans un un référentiel :

java -cp %PQ_USER_CLASSPATH% com.ibm.pdq.tools.ManageRepository 
   -update runtimeGroup 
   -pureQueryProperties pdqrep.properties 
   -runtimeGroupID %1 -runtimeGroupVersion %2 
   -repositoryURL %PQ_REP_URL% 
   -repositoryUsername %PQ_REP_USERNAME% 
   -repositoryPassword %PQ_REP_PASSWORD% 
   -repositoryDriverClass com.ibm.db2.jcc.DB2Driver

Lorsque le script est exécuté à partir de la ligne de commande, les variables %1 et %1 sont remplacées par les valeurs indiquées. Les variables telles que %PQ_USER_CLASSPATH% sont remplacées par les valeurs indiquées dans les variables d'environnement.


Commentaires