Descriptions des propriétés de consignation et de traçage

PureQuery possède des fonctions de consignation et de traçage dotées de niveaux de gravité configurables, vous permettant de contrôler le type d'informations envoyées au fichier journal.

Vous pouvez définir les propriétés suivantes :

pdq.traceFile
Spécifie le fichier physique dans lequel les informations de consignation sont écrites. Vous pouvez utiliser un chemin absolu ou un chemin relatif au répertoire dans lequel s'exécute l'application pureQuery activée.

Si le fichier existe pour une application Java, pureQuery supprime le contenu du fichier avant d'utiliser le fichier pour les nouvelles entrées de journal.

La propriété traceFile peut uniquement être spécifiée dans un fichier pdq.properties global.

pdq.traceLevel
Spécifie le niveau de détail à écrire dans le fichier journal. 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 (hors fonction).

Vous pouvez spécifier le niveau de trace pour la consignation du composant pureQuery. Pour plus d'informations sur la consignation des informations de trace du composant pureQuery, reportez-vous àSpécification du niveau de trace sur les propriétés du composant pureQuery Runtime.

La propriété traceLevel peut uniquement être spécifiée dans un fichier pdq.properties global.

pdq.traceBufferRowCount
Indique le nombre maximum d'enregistrements du journal placés en mémoire tampon. La valeur de la propriété traceBufferRowCount peut être un entier non négatif. La valeur 0 par défautindique que les enregistrements de journal ne sont pas mis en mémoire tampon.

Si la propriété traceBufferRowCount est activée, la propriété dumpLogsOnSqlCodes de pureQuery Runtime doit aussi être spécifiée pour écrire des enregistrements de journal dans un fichier. La valeur de la propriété dumpLogsOnSqlCodes est une liste de codes d'erreur SQL. Lorsqu'une erreur répertoriée se produit, les enregistrements de journal placés en mémoire tampon sont écrits dans le fichier journal. Le fichier journal est spécifié par la propriété traceFile. Si un code d'erreur spécifié n'est pas détecté ou si la propriété dumpLogsOnSqlCodes n'est pas spécifiée et que la taille maximale de la mémoire est atteinte, les enregistrements les plus anciens sont supprimés de la mémoire lorsque de nouveaux enregistrements sont placés en mémoire cache.

La propriété dumpLogsExcludingSqlCodes peut être spécifiée avec les codes d'erreur SQL qui ne déclenchent pas l'écriture des enregistrements de journal dans le fichier journal.

L'exemple suivant place en mémoire tampon un maximum de 8000 enregistrements de journal et indique qu'une erreur SQL dans la liste par défaut pureQuery Runtime des erreurs SQL déclenche l'écriture des enregistrements de journal dans le fichier journal.
pdq.traceBufferRowCount=8000
pdq.dumpLogsOnSqlCodes=default

L'option traceBufferRowCount doit être utilisée avec les applications autonomes pureQuery Runtime. Elle est indépendante de la mémoire tampon tournante WebSphere.

pdq.dumpLogsOnSqlCodes
Si pureQuery Runtime place les enregistrements de journal en mémoire tampon, cette propriété indique les codes d'erreur SQL déclenchant l'écriture des enregistrements dans le fichier journal.
La valeur de cette propriété est une liste de codes d'erreur SQL séparée par un caractère barre verticale (|). La liste peut contenir le mot clé par défaut. Le mot clé par défaut indique une liste des codes d'erreur SQL que pureQuery Runtime utilise pour déclencher l'écriture des enregistrements du journal placé en mémoire tampon dans le fichier journal. Lorsque vous spécifiez le code d'erreur SQL, vous devez inclure un tiret de tête. L'exemple suivant montre deux codes d'erreur SQL déclenchant l'écriture des enregistrements de journal placés en mémoire tampon dans le fichier journal :
pdq.traceBufferRowCount=8000
pdq.dumpLogsOnSqlCodes=-805|-810

PureQuery Runtime écrit les enregistrements du journal qui sont en mémoire dans le fichier journal si le code d'erreur SQL -805 ou -810 s'affiche ou lorsque le nombre d'enregistrements spécifiés par la propriété traceBufferRowCount est placé en mémoire tampon.

L'exemple suivant montre la liste par défaut des codes d'erreur SQL et le code d'erreur SQL -3476 comme codes d'erreur qui déclenche l'écriture des enregistrements du journal placés en mémoire tampon dans le fichier journal :
pdq.traceBufferRowCount=8000
pdq.dumpLogsOnSqlCodes=default|-3476

Si vous utilisez le mot clé par défaut, vous pouvez indiquer les codes d'erreur SQL dumpLogsExcludingSqlCodes spécifiques qui ne déclenchent pas l'écriture des enregistrements du journal placés en mémoire tampon dans le fichier journal. Pour obtenir la liste des codes d'erreur SQL par défaut de pureQuery Runtime, reportez-vous à Liste des codes d'erreur SQL par défaut de pureQuery Runtime utilisés lors de la journalisation.

pdq.dumpLogsExcludingSqlCodes
Si pureQuery Runtime place en mémoire tampon les enregistrements de journal, cette propriété indique les codes d'erreur SQL qui ne déclenchent pas l'écriture des enregistrements de journal placés en mémoire tampon dans le fichier journal. La propriété dumpLogsOnSqlCodes indique les codes d'erreur SQL déclenchant l'écriture des enregistrements de journal placés en mémoire tampon dans le fichier journal. La valeur de cette propriété est une liste de codes d'erreur SQL séparée par un caractère barre verticale (|). Lorsque vous spécifiez le code d'erreur SQL, le signe du code d'erreur SQL est important. Par exemple : 805 et -805 sont des codes d'erreur différents. Utilisez cette propriété lorsque vous indiquez le mot clé par défaut avec dumpLogsOnSqlCodes.

Dans l'exemple suivant, la mise en mémoire des enregistrements de journal est activée pour un maximum de 8000 enregistrements. PureQuery Runtime écrit les enregistrements de journal placés en mémoire tampon dans le fichier journal lorsqu'un code d'erreur SQL dans la liste par défaut ou le code d'erreur -3476 s'affiche. La liste par défaut des codes d'erreur SQL contient le code d'erreur -805. La propriété dumpLogsExcludingSqlCodes indique que le code d'erreur SQL -805 ne déclenche pas l'écriture des enregistrements de journal placés en mémoire tampon dans le fichier journal.

pdq.traceBufferRowCount=8000
pdq.dumpLogsOnSqlCodes=default|-3476
pdq.dumpLogsExcludingSqlCodes=-805

Notes concernant l'utilisation de l'application Java

PureQuery Runtime utilise la structure java.util.logging. Dans cette structure, pureQuery Runtime donne un nom à son journal d'événements parent com.ibm.pdq.logger. Les conventions et outils API de consignation Java permettent (à vous et vos applications) de définir le niveau de consignation et le fichier journal de com.ibm.pdq afin que les messages de journal pureQuery soient transmis à ce journal d'événements.

De nombreux serveurs d'applications fournissent des outils d'administration pour configurer ces journaux d'événements qui s'exécutent sous la structure java.util.logging. Par exemple, avec WebSphere Application Server, vous pouvez configurer le journal d'événements com.ibm.pdq de sorte à contrôler la consignation et le traçage pureQuery. L'utilisation des outils du serveur d'applications constitue une alternative à la configuration de la consignation pureQuery avec les propriétés pureQuery Runtime. PureQuery utilise le niveau de journal d'événements com.ibm.pdq s'il est supérieur au niveau spécifié pour la propriété pdq.traceLevel de pureQuery et si le niveau de journal d'événements est supérieur à INFO. Dans WebSphere Application Server Integrated Solutions Console, vous pouvez définir le niveau du journal d'événements com.ibm.pdq en sélectionnant Dépannage > Journaux et trace.

Si le niveau de trace du journal d'événements com.ibm.pdq est plus inclusif que le niveau INFO et que les propriétés pureQuery ne spécifient pas un niveau plus inclusif que le niveau de trace du journal d'événements com.ibm.pdq, pureQuery hérite du niveau du journal d'événements com.ibm.pdq.

Si vous envisagez d'utiliser WebSphere Application Server avec votre application pureQuery, vous devez définir un niveau supérieur à INFO pour voir les entrées de journal pureQuery de WebSphere Application Server.

PureQuery Runtime n'intègre pas de manière explicite la consignation avec les journaux de pilote JDBC. Toutefois, les pilotes JDBC qui effectuent également une consignation à l'aide de l'API de consignation Java participent à l'intégration du cadre de consignation. Cela signifie que les entrées de journal pureQuery et de pilote JDBC sont imbriquées dans le même fichier journal à condition que le pilote JDBC et pureQuery Runtime soient configurés pour écrire dans la trace WebSphere.

Consignation des résultats des appels dans la méthode getJccSpecialRegisterProperties()

Si votre application utilise IBM® Data Server Driver pour JDBC et SQLJ pour vous connecter à une base de données DB2 prise en charge, puis appelle la méthode getJccSpecialRegisterProperties() sur un objet Connection, pureQuery peut consigner les résultats du premier appel dans cette méthode sur l'objet. Le message inscrit par pureQuery dans le journal répertorie toutes les valeurs définies des registres spéciaux que le pilote prend en charge pour la base de données.

Pour voir ce message dans le journal, paramétrez le niveau de trace sur FINE.

Notes d'utilisation de l'interface CLI DB2 et d'IBM Data Server Driver

Lors de l'utilisation de l'interface CLI DB2 ou d'IBM Data Server Driver avec pureQuery Runtime, vous pouvez utiliser la propriété pureQuery Runtime comme mot clé de configuration.

Vous pouvez définir les deux clés dans le fichier de configuration db2cli.ini ou dsdriver.cfg.

Syntaxe de mot clé CLI IBM
traceFile = chemin-du-fichier-journal

Vous pouvez utiliser un chemin absolu ou un chemin relatif lié au répertoire dans lequel l'application CLI s'exécute. Si le fichier existe, de nouveaux messages de journal sont ajoutés au contenu existant du fichier.

traceLevel = chemin-du-fichier-journal
Syntaxe de configuration d'IBM Data Server Driver
<parameter name="traceFile" value="chemin-du-fichier-journal" />

Vous pouvez utiliser un chemin absolu ou un chemin relatif lié au répertoire dans lequel l'application CLI s'exécute. Si le fichier existe, de nouveaux messages de journal sont ajoutés au contenu existant du fichier.

<parameter name="traceLevel" value="chemin-du-fichier-journal" />
Mots clés de chaîne de connexion équivalents d'IBM Data Server Provider for .NET
N/A

Les lignes suivantes définissent traceFile par /user/CLIOPTtraces.log et traceLevel par INFO dans un fichier db2cli.ini :

traceFile=/user/CLIOPTtraces.log
traceLevel=INFO

Commentaires