Seitenhistorie
1) Standard SQL Logging
(Hinweis: Für SQL Logging der Version 3.13.8 oder früher bitte 3. lesen.)
Um alle SQL Statements zu loggen, müssen folgende Zeilen in der log4j.properties hinzugefügt werden:
Codeblock |
---|
#SQL logging log4j.logger.org.nuclos.server.dblayerSQLLogger=DEBUG log4j#log4j.logger.org.nuclos.server.dal.processor.jdbc.impl.standard.StandardSqlDBAccessSQLTimer=DEBUG |
Damit Dabei ist das SQLTimer-Logging optional durch Entfernen des "#" hinzuwählbar. Damit die neuen Parameter wirksam werden, muss der Server neu gestartet werden. Die Datei log4j.propierties ist im "conf" Verzeichnis des Servers zu finden, zusammen mit den Dateien jdbc.properties und server.properties.
Die Ausgabe erscheint dann in der Datei server.log im Verzeichnis logs und sieht z.B. folgendermaßen aus:
Codeblock |
---|
2013-0206-1127 1014:0244:2809,208567 DEBUG localhostpool-2-startStopthread-1 [impl.standard.StandardSqlDBAccess] - Query to execute: SELECT * FROM (SELECT entity.INTID SQLLogger] - SELECT t.INTID, t.DATCREATED, t.STRCREATED, t.DATCHANGED, t.STRCHANGED, t.INTVERSION, t.INTNUCLETVERSION, t.STRPACKAGE, t.STRNAMESPACE, t.DESCRIPTION, t.NAME FROM T_MDAD_ENTITYAPPLICATION entityt WHERE entity.STRENTITY = ?) WHERE ROWNUM <= 2 [PSDH_Typ (1=1 AND t.INTID IN (?)) [40013466] |
Wenn die Ausführung des SQL Statements länger als 0.1 Sekunden braucht, wird anschließend noch eine Zeitangabe (in Millisekunden) ausgegeben:
...
Durch entfernen von "stdout" oder "logfile" kann das Logging auf die DB selber beschränkt werden.
3) Standard SQL Logging (3.13.8 oder früher)
Um alle SQL Statements zu loggen, müssen folgende Zeilen in der log4j.properties hinzugefügt werden:
Codeblock |
---|
#SQL logging
log4j.logger.org.nuclos.server.dblayer=DEBUG
log4j.logger.org.nuclos.server.dal.processor.jdbc.impl.standard.StandardSqlDBAccess=DEBUG |
Damit die neuen Parameter wirksam werden, muss der Server neu gestartet werden. Die Datei log4j.propierties ist im "conf" Verzeichnis des Servers zu finden, zusammen mit den Dateien jdbc.properties und server.properties.
Die Ausgabe erscheint dann in der Datei server.log im Verzeichnis logs und sieht z.B. folgendermaßen aus:
Codeblock |
---|
2013-02-11 10:02:28,208 DEBUG localhost-startStop-1 [impl.standard.StandardSqlDBAccess] - Query to execute:
SELECT * FROM (SELECT entity.INTID FROM T_MD_ENTITY entity WHERE entity.STRENTITY = ?) WHERE ROWNUM <= 2
[PSDH_Typ] |
Wenn die Ausführung des SQL Statements länger als 0.1 Sekunden braucht, wird anschließend noch eine Zeitangabe (in Millisekunden) ausgegeben:
Codeblock |
---|
2013-02-11 10:05:49,069 DEBUG Thread-6 [impl.standard.StandardSqlDBAccess] - Query to execute: SELECT t.INTID, t.ID_ADDR, t.ID_MODULE, t.ID_PROJECT, t.ID_VARIANT FROM (SELECT t.INTID, t.ID_ADDR, t.ID_MODULE, t.ID_PROJECT, t.ID_VARIANT , ROW_NUMBER() OVER ( ORDER BY t.INTID ASC) AS RN FROM SV_CONS t WHERE 1=1) t WHERE RN > 6000 AND RN <= 7000 [] 2013-02-11 10:05:49,681 DEBUG Thread-6 [impl.standard.StandardSqlDBAccess] - Time consumed: 610 ms |