Tuesday, 6. May 2014
SQL-Statements loggen mit PatternTesting
javatux, 23:31h
Manche JDBC-Treiber erlauben es, dass SQL-Statements mitprotokolliert werden können. Was aber, wenn dies der Treiber im Projekt nicht kann? Dann gibt es die Möglichkeit auf PatternTesting auszuweichen. Dort gibt es seit 1.4.1 die Möglichkeit, über eine spezielle Proxy-URL einen ProxyDriver anzusprechen, der u.a. die Protokollierung der SQL-Anweisungen übernimmt.
Damit die SQL-Anweisung auch tatsächlich im Log erscheinen, muss der Log-Level für patterntesting.runtime.monitor.db auf DEBUG gesetzt werden. Als weiteres Schmankerl kann man die Anzahl der offenen Connections per JMX überwachen.
jdbc:proxy:hsqldb:mem:testdbSo sieht z.B. die Proxy-URL für eine HSQL-Datenbank aus. Der Unterschied zur normalen JDBC-URL von HSQL (jdbc:hsqldb:mem:testdb) ist nur der zusätzliche "...proxy:..."-Eintrag in der URL.
Damit die SQL-Anweisung auch tatsächlich im Log erscheinen, muss der Log-Level für patterntesting.runtime.monitor.db auf DEBUG gesetzt werden. Als weiteres Schmankerl kann man die Anzahl der offenen Connections per JMX überwachen.
Genaueres kann im PatternTesting-Wiki unter SQL Logging and Monitoring nachgelesen werden.
... comment