Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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