Versionen im Vergleich

Schlüssel

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

...

Um alle SQL Statements zu loggen:  Für log4j2 So sieht die Konfiguration der log4j2.xml aus wie folgt:

Codeblock
titlelog4j2 - Ausgabe des SQL-Logging im Server-Log
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d %p [%c] - %m%n"/>
    </Console>
    <RollingFile name="Logfile" fileName="<Nuclos-Log-Verzeichnis>/server.log"
                filePattern="<Nuclos-Log-Verzeichnis>/server-%i.log" 
                append="true">
      <PatternLayout pattern="%d %p [%c] - %m%n"/>
      <Policies>
        <SizeBasedTriggeringPolicy size="5 MB"/>
                </Policies>
          <DefaultRolloverStrategy max="20"/>
    </RollingFile>
  </Appenders>
  <Loggers>
    <Logger name="org.apache.log4j.xml" level="info"/>
    <Logger name="SQLLogger" level="debug"/> 
	<Root level="info">
      <AppenderRef ref="Console"/>
      <AppenderRef ref="Logfile"/>
    </Root>
  </Loggers>
</Configuration>

Die Datei log4j2.xml ist im "conf" Verzeichnis des Servers zu finden, zusammen mit den Dateien jdbc.properties und server.properties. 

SQL StackTrace Logging 

...

Es kann zusätzlich noch der StackTrace, sowohl vom Server, als auch vom Client, bis zur Ausführung des SQL-Statements geloggt werden. Das ist möglich für bestimmte SQL-Statements oder für alle SQL-Statements. Für bestimmte Statements kann in der ersten Methode Dafür kann  der Textfilter unter "Server Info" im Webclient verwendet werden (siehe oben): Außerdem kann in der Klasse "DataSourceExecuter" ein String-Suchbegriff eingegeben angegeben werden (auch zur Laufzeit, wenn der Server im Debug-Modus gestartet wurde):, entweder über einen Debugger durch setzen des Strings in folgender Methode

Codeblock
public static String getDebugSQL() {
	return "SELECT COUNT";
} 

oder durch setzen aus dem Programm mit der statischen Variable Methoden DataSourceExeceuter.setDebugSQL(String debugSQL:)

Codeblock
DataSourceExeceuter.setDebugSQL("SELECT COUNT");

...