Sie können die folgenden Eigenschaften festlegen:
Falls die Datei für eine Java-Anwendung vorhanden ist, löscht pureQuery den Inhalt der Datei, bevor die Datei für neue Protokolleinträge verwendet wird.
Die Eigenschaft traceFile kann nur in einer globalen Datei pdq.properties angegeben werden. Die Eigenschaft kann nicht in einer Datei pdq.properties angegeben werden, die die Eigenschaften für eine Anwendung oder eine Verbindung zu einer Anwendungsdatenquelle angibt.
Sie können die Tracestufe für die pureQuery-Komponentenprotokollierung angeben. Informationen zur Protokollierung von Traceinformationen von pureQuery-Komponenten finden Sie in Tracestufe für pureQuery Runtime-Komponenteneigenschaften angeben.
Die Eigenschaft traceLevel kann nur in einer globalen Datei pdq.properties angegeben werden. Die Eigenschaft kann nicht in einer Datei pdq.properties angegeben werden, die die Eigenschaften für eine Anwendung oder eine Verbindung zu einer Anwendungsdatenquelle angibt.
Wenn die Eigenschaft traceBufferRowCount aktiviert ist, muss auch die pureQuery Runtime-Eigenschaft dumpLogsOnSqlCodes angegeben werden, um Protokollsätze in eine Datei zu schreiben. Die Eigenschaft dumpLogsOnSqlCodes enthält als Wert eine Liste von SQL-Fehlercodes. Wenn ein aufgelisteter Fehler auftritt, werden die im Hauptspeicher gepufferten Protokollsätze in die Protokolldatei geschrieben. Die Protokolldatei wird durch die Eigenschaft traceFile angegeben. Wenn kein angegebener Fehlercode erkannt wird oder wenn die Eigenschaft dumpLogsOnSqlCodes nicht angegeben ist und die maximale Speicherkapazität belegt ist, werden die ältesten Sätze aus dem Speicher gelöscht, wenn neue Sätze im Speicher gepuffert werden.
Die Eigenschaft dumpLogsExcludingSqlCodes kann mit den SQL-Fehlercodes angegeben werden, bei denen kein Schreiben von Protokollsätzen in die Protokolldatei ausgelöst wird.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=default
Die Option traceBufferRowCount ist für die Verwendung mit eigenständigen pureQuery Runtime-Anwendungen konzipiert. Sie ist unabhängig vom WebSphere-Ringpuffer.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=-805|-810
pureQuery Runtime schreibt die Protokollsätze aus dem Speicher in die Protokolldatei, wenn der SQL-Fehlercode -805 oder der Fehlercode -810 auftritt oder wenn die durch die Eigenschaft traceBufferRowCount angegebene Anzahl Sätze im Speicher gepuffert ist.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=default|-3476
Wenn Sie das Schlüsselwort default verwenden, können Sie in dumpLogsExcludingSqlCodes bestimmte SQL-Fehlercodes angeben, die kein Schreiben gepufferter Protokollsätze in die Protokolldatei auslösen. Eine Liste von SQL-Standardfehlercodes von pureQuery Runtime finden Sie in Liste von pureQuery Runtime-SQL-Standardfehlercodes, die in Verbindung mit der Protokollierung verwendet werden.
Im folgenden Beispiel ist die Pufferung von Protokollsätzen im Hauptspeicher für maximal 8000 Protokollsätze aktiviert. pureQuery Runtime schreibt die gepufferten Protokollsätze in die Protokolldatei, wenn ein SQL-Fehlercode aus der Standardliste oder der Fehlercode -3476 auftritt. Die Standardliste von SQL-Fehlercodes enthält den Fehlercode -805. Die Eigenschaft dumpLogsExcludingSqlCodes gab an, dass der SQL-Fehlercode -805 kein Schreiben gepufferter Protokollsätze in die Protokolldatei auslöst.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=default|-3476 pdq.dumpLogsExcludingSqlCodes=-805
pureQuery Runtime verwendet das Framework von java.util.logging. In diesem Framework benennt pureQuery Runtime die übergeordnete Protokollfunktion com.ibm.pdq.logger. Durch die Verwendung von Konventionen und Tools für Java-Protokollierungs-APIs können Sie und Ihre Anwendungen die Protokollebene und Protokolldatei für die Protokollfunktion von com.ibm.pdq festlegen, sodass pureQuery-Protokollnachrichten an diese Protokollfunktion weitergeleitet werden.
Viele Anwendungsserver stellen Verwaltungstools zum Konfigurieren von Protokollfunktionen bereit, die im Framework von java.util.logging ausgeführt werden. Mit WebSphere Application Server beispielsweise können Sie die Protokollfunktion von com.ibm.pdq zum Steuern der pureQuery-Protokollierung und -Traceerstellung konfigurieren. Anwendungsserver-Tools können alternativ zum Konfigurieren der pureQuery-Protokollierung mit pureQuery Runtime-Eigenschaften verwendet werden. pureQuery verwendet die Protokollfunktionsebene von com.ibm.pdq, wenn sie höher ist als die Ebene, die für die pureQuery-Eigenschaft pdq.traceLevel angegeben ist, und wenn die Protokollfunktionsebene von com.ibm.pdq höher ist als INFO. In WebSphere Application Server Integrated Solutions Console können Sie die Protokollfunktionsebene von com.ibm.pdq festlegen, indem Sie
auswählen.Wenn die Tracestufe der Protokollfunktion von com.ibm.pdq auf eine Ebene gesetzt ist, die inklusiver ist als INFO, und wenn pureQuery-Eigenschaften keine Ebene angeben, die inklusiver ist als die Tracestufe der Protokollfunktion von com.ibm.pdq, übernimmt pureQuery die Ebene der Protokollfunktion von com.ibm.pdq.
Wollen Sie WebSphere Application Server mit Ihrer pureQuery-Anwendung verwenden, müssen Sie die Ebene auf höher als INFO setzen, wenn Sie pureQuery-Protokolleinträge im Protokoll für WebSphere Application Server anzeigen wollen.
pureQuery Runtime integriert die Protokollierung nicht explizit in JDBC-Treiberprotokolle. JDBC-Treiber, die auch über die Java-Protokollierungs-API Daten protokollieren, können jedoch an der Protokollierungsframeworkintegration teilnehmen. Dies bedeutet, dass pureQuery- und JDBC-Treiberprotokolleinträge in derselben Protokolldatei verzahnt sind, wenn sowohl der JDBC-Treiber als auch pureQuery Runtime so konfiguriert sind, dass sie das Protokoll in den WebSphere-Trace schreiben.
Wenn Ihre Anwendung IBM® Data Server Driver for JDBC and SQLJ zum Herstellen einer Verbindung zu einer unterstützten DB2-Datenbank verwendet und die Methode getJccSpecialRegisterProperties() für ein Verbindungsobjekt aufruft, kann pureQuery die Ergebnisse des ersten Aufrufs dieser Methode für das Objekt protokollieren. Die Nachricht, die pureQuery in das Protokoll schreibt, listet alle Werte ungleich null für die Sonderregister auf, die der Treiber für die Datenbank unterstützt.
Setzen Sie die Tracestufe auf FINE, um diese Nachricht im Protokoll anzuzeigen.
Bei Verwendung von DB2 Call Level Interface (CLI) oder IBM Data Server Driver mit pureQuery Runtime können Sie die pureQuery Runtime-Eigenschaften als Konfigurationsschlüsselwörter verwenden.
Informationen zur Protokollierung und Traceerstellung von CLI-Anwendungen, die mit der pureQuery-Clientoptimierung aktiviert wurden, finden Sie in Protokollierung und Traceerstellung mit pureQuery Runtime.
Sie können einen absoluten Pfad oder einen Pfad verwenden, der relativ zu dem Verzeichnis ist, in dem die CLI-Anwendung ausgeführt wird. Ist die Datei vorhanden, werden neue Protokollnachrichten an den vorhandenen Inhalt der Datei angehängt.
Sie können einen absoluten Pfad oder einen Pfad verwenden, der relativ zu dem Verzeichnis ist, in dem die CLI-Anwendung ausgeführt wird. Ist die Datei vorhanden, werden neue Protokollnachrichten an den vorhandenen Inhalt der Datei angehängt.
Die folgenden Zeilen setzen in der Datei db2cli.ini traceFile auf /user/CLIOPTtraces.log und traceLevel auf INFO:
traceFile=/user/CLIOPTtraces.log traceLevel=INFO