pureQuery verwendet das Framework von java.util.logging. Informationen zur pureQuery-Protokollierung und zum Framework von java.util.logging finden Sie in Hinweise zur Verwendung von Java-Anwendungen.
In der folgenden Tabelle werden die Datenbankereignisse aufgelistet, die für die Eigenschaft com.ibm.pdq.database protokolliert werden.
Protokollebene | Datenbankereignis |
---|---|
CONFIG | SQL-Fehler, die in dumpLogsOnSqlCodes aufgelistet sind und in dumpLogsExcludedSqlCodes nicht aufgelistet sind |
FINE | Aktualisierung von pureQuery-Eigenschaften aus einem Repository |
FINER | Dynamisches PREPARE einer SQL-Anweisung durch die pureQuery-Clientoptimierung |
FINEST | Statisches PREPARE einer SQL-Anweisung durch die pureQuery-Clientoptimierung |
Wenn die Anwendung so konfiguriert ist, dass sie ein Repository für pureQuery-Daten verwendet, kann pureQuery Runtime eine kleine Teilmenge der Protokollsätze im Repository speichern. Das Repository muss in der globalen Datei pdq.properties angegeben werden. Repository-Positionen, die auf Anwendungsebene oder Datenquellenebene angegeben werden, werden für die Protokollierung ignoriert.
select * from ibmpdq.log
Für Java-Benutzer (standalone) können Protokollebenen mit der pureQuery Runtime-Datei pdq.properties und auf andere Weise verwaltet werden. Wenn die Anwendung die pureQuery-Komponentenprotokollierung mit der Datei pdq.properties verwaltet, kann sich die Protokolldatei auf einer Festplatte befinden oder die Inhalte des Protokolls können in einem Repository gespeichert werden. Zur Steuerung von Protokollebenen für die pureQuery-Komponentenprotokollierung unterstützt JRE die Datei logging.properties im Ordner JRE/lib.
Bei den Eigenschaften für die pureQuery-Komponentenprotokollierung können die untergeordneten Protokolleigenschaften die Protokolleinstellung der übergeordneten Ebene übernehmen. Sie können die Protokolleinstellung der übergeordneten Ebene außer Kraft setzen, indem Sie explizit untergeordnete Protokolleinstellungen definieren.
Wenn Sie z. B. nur die Protokollebene der Eigenschaft com.ibm.pdq.co auf FINE setzen, ist die Protokollebene der untergeordneten Eigenschaften com.ibm.pdq.co.static und com.ibm.pdq.co,dynamic ebenfalls FINE.
Sie können die von java.util.logging bereitgestellten Methoden verwenden, um Protokollebenen zu definieren. Andere Anwendungen verfügen möglicherweise auch über andere Methoden zur Verwaltung von java.util.logging-Protokollfunktionen.
Wenn Sie in den Eigenschaften für die pureQuery-Komponentenprotokollierung keine Protokollebene festlegen, übernehmen diese die Ebene ihres jeweils übergeordneten Elements (z. B. com.ibm) in einer WebSphere-Umgebung.
Im folgenden Beispiel für WebSphere Application Server werden die Eigenschaften für die pureQuery-Komponentenprotokollierung auf ALL gesetzt:
com.ibm.pdq.*=all
Sie können die folgende Syntax in einer globalen pdq.properties verwenden, um Protokollebenen für das pureQuery-Komponententracing festzulegen:
pdq.traceLevel=OFF pdq.traceLevel.com.ibm.pdq.co=FINER pdq.traceLevel.com.ibm.pdq.co.static=FINE
Diese pureQuery Runtime-Eigenschaften können in einer Datei pdq.properties auf einer Festplatte oder in einem Repository angegeben werden. Wenn pureQuery Runtime die Eigenschaften aus dem Repository im Aktualisierungsintervall aktualisiert, werden die Protokollebenen auf die pureQuery-Protokollfunktionen angewendet.
Es gibt keine Entsprechung zu pdq.traceFile für die Eigenschaften für die pureQuery-Komponentenprotokollierung.
Die für das Tracing verwendeten pureQuery Runtime-Eigenschaften pdq.traceLevel und pdq.traceLevel.com.ibm.pdq.* sowie die Eigenschaft dumpLogsOnSqlCodes können in einem Repository angegeben werden. Sie legen die pureQuery Runtime-Eigenschaften in einer Datei pdq.properties fest und laden in der Datei enthaltene Informationen in ein Repository hoch. Wenn ein Aktualisierungsintervall für das Repository festgelegt ist, werden die aktualisierten Protokolleigenschaften zur festgelegten Zeit aus dem Repository gelesen und auf die für pureQuery Runtime aktivierte Anwendung angewendet.
Das Repository muss in der globalen Datei pdq.properties angegeben werden. Auf Anwendungsebene oder Datenquellenebene angegebene Repository-Positionen werden für die Protokollierung ignoriert.
Sie können das Dienstprogramm ManageRepository mit der Option -pureQueryProperties verwenden, um eine pureQuery Runtime-Eigenschaftendatei in ein Repository hochzuladen. Der folgende Befehl wird aus einem Script ausgeführt und lädt die Datei pdq.properties, die Tracestufen enthält, in ein Repository hoch:
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
Wenn das Script aus der Befehlszeile ausgeführt wird, werden die Variablen %1 und %1 bei der Scriptausführung durch die angegebenen Werte ersetzt. Die Variablen, z. B. %PQ_USER_CLASSPATH%, werden durch Werte ersetzt, die durch Umgebungsvariablen festgelegt werden.