Beschreibungen der Eigenschaften für Protokollierung und Traceerstellung

pureQuery enthält Protokollierungs- und Traceerstellungsfunktionalität mit konfigurierbaren Bewertungsstufen, über die gesteuert wird, welcher Typ von Informationen an die Protokolldatei gesendet wird.

Sie können die folgenden Eigenschaften festlegen:

pdq.traceFile
Gibt die physische Datei an, in die die Protokollinformationen geschrieben werden. Sie können einen absoluten Pfad verwenden oder einen Pfad, der relativ zu dem Verzeichnis ist, in dem die für pureQuery aktivierte Anwendung ausgeführt wird.

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.

pdq.traceLevel
Gibt die Detaillierungsebene für den Schreibvorgang in die Protokolldatei an. Folgende Ebenen sind verfügbar und werden nach zunehmendem Detailgrad aufgelistet:
  • OFF
  • SEVERE
  • WARNUNG
  • INFO
  • CONFIG
  • FINE
  • FINER
  • FINEST
  • ALL
Die Standardebene ist OFF.

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.

pdq.traceBufferRowCount
Gibt die maximale Anzahl von Protokollsätzen an, die im Hauptspeicher gepuffert werden. Der Wert für die Eigenschaft traceBufferRowCount kann eine nicht negative ganze Zahl sein. Der Standardwert 0 gibt an, dass keine Protokollsätze im Hauptspeicher gepuffert werden.

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.

Im folgenden Beispiel werden maximal 8000 Protokollsätze im Hauptspeicher gepuffert. Außerdem wird die pureQuery Runtime-Standardliste von SQL-Fehlern angegeben, die das Schreiben der Protokollsätze in die Protokolldatei auslösen.
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.dumpLogsOnSqlCodes
Wenn pureQuery Runtime Protokollsätze im Hauptspeicher puffert, gibt diese Eigenschaft die SQL-Fehlercodes an, die das Schreiben der Sätze in die Protokolldatei auslösen.
Der Wert für diese Eigenschaft ist eine Liste von SQL-Fehlercodes, die durch Pipezeichen (|) getrennt sind. Die Liste kann das Schlüsselwort default enthalten. Das Schlüsselwort default gibt eine Liste von SQL-Fehlercodes an, die pureQuery Runtime nutzt, um das Schreiben gepufferter Protokollsätze in die Protokolldatei auszulösen. Bei der Angabe von SQL-Fehlercodes muss ggf. auch der führende Bindestrich angegeben werden. Im folgenden Beispiel werden zwei SQL-Fehlercodes aufgelistet, die das Schreiben gepufferter Protokollsätze in die Protokolldatei auslösen:
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.

Im folgenden Beispiel werden die Liste default von SQL-Fehlercodes sowie der SQL-Fehlercode -3476 als Fehlercodes aufgelistet, die das Schreiben gepufferter Protokollsätze in die Protokolldatei auslösen:
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.

pdq.dumpLogsExcludingSqlCodes
Wenn pureQuery Runtime Protokollsätze im Hauptspeicher puffert, gibt diese Eigenschaft die SQL-Fehlercodes an, die kein Schreiben der gepufferten Protokollsätze in die Protokolldatei auslösen. Die Eigenschaft dumpLogsOnSqlCodes gibt die SQL-Fehlercodes an, die das Schreiben gepufferter Protokollsätze in die Protokolldatei auslösen. Der Wert für diese Eigenschaft ist eine Liste von SQL-Fehlercodes, die durch Pipezeichen (|) getrennt sind. Bei der Angabe des SQL-Fehlercodes ist das Vorzeichen des SQL-Fehlercode von Bedeutung. 805 und -805 beispielsweise sind unterschiedliche Fehlercodes. Sie verwenden diese Eigenschaft, wenn Sie das Schlüsselwort default in Verbindung mit dumpLogsOnSqlCodes angeben.

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

Hinweise zur Verwendung von Java-Anwendungen

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 Fehlerbehebung > Protokolle und Trace 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.

Ergebnisse von Aufrufen der Methode getJccSpecialRegisterProperties() protokollieren

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.

Hinweise zur Verwendung von DB2 CLI und IBM Data Server Driver

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.

IBM CLI-Schlüsselwortsyntax
traceFile = Pfad_zu_Protokolldatei

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.

traceLevel = Tracestufe
IBM Data Server Driver-Konfigurationssyntax
<parameter name="traceFile" value="Pfad_zur_Protokolldatei" />

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.

<parameter name="traceLevel" value="Tracestufe" />
funktional entsprechende Verbindungszeichenfolgenschlüsselwörter von IBM Data Server Provider für .NET
nicht zutreffend

Die folgenden Zeilen setzen in der Datei db2cli.ini traceFile auf /user/CLIOPTtraces.log und traceLevel auf INFO:

traceFile=/user/CLIOPTtraces.log
traceLevel=INFO

Feedback