Versionen im Vergleich

Schlüssel

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

...

Codeblock
#SQL logging
log4j.logger.SQLLogger=DEBUG
#log4jlog4j.logger.SQLTimer=DEBUG

Dabei ist das SQLTimer-Logging optional durch Entfernen des Hinzufügen eines "#" hinzuwählbarabwä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.

...

Codeblock
2013-06-27 14:44:09,567 DEBUG pool-2-thread-1 [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_AD_APPLICATION t WHERE (1=1 AND t.INTID IN (?))
=[40013466]

Wenn zusätzlich der SQLTimer angeschaltet ist, wird das SQL Statement nach der Ausführung zusammen mit der Dauer ausgegeben:

Codeblock
2013-06-27 14:44:09,599 DEBUG pool-2-thread-1 [SQLTimer] - 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_AD_APPLICATION t WHERE (1=1 AND t.INTID IN (?))
=[40013466]/=(32 ms)

 

2) JDBCAppender SQL Logging

...

Codeblock
ALTER TABLE <SCHEMA>.LOGS ADD COLUMN TIME INTEGER, ADD COLUMN PARAMS VARCHAR(4000)
 
UPDATE <SCHEMA>.LOGS SET TIME =  
CAST(SUBSTRING(MESSAGE FROM POSITION('/=(' IN MESSAGE)+12 FOR POSITION(' ms)' IN MESSAGE)-POSITION('/=(' IN MESSAGE)-2) AS INTEGER),
PARAMS = SUBSTRING(MESSAGE FROM POSITION('=[' IN MESSAGE)+2 FOR POSITION(']=' IN MESSAGE)-POSITION('=[' IN MESSAGE)-2),
MESSAGE = RTRIM(SUBSTRING(MESSAGE FROM 0 FOR POSITION('/=[' IN MESSAGE)))
WHERE LOGGER = 'SQLTimer'

...

Codeblock
DELETE FROM <SCHEMA>.LOGS WHERE LOGGER != 'SQLTimer'
SELECT SUM(TIME+5) AS SUM, COUNT(TIME) AS COUNT, MESSAGE FROM <SCHEMA>.LOGS GROUP BY MESSAGE ORDER BY SUM DESC

...