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.
Le tableau suivant répertorie les événements de base de données consignés pour la propriété com.ibm.pdq.database.
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.
select * from ibmpdq.log
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
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.
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.