# logging von postgresql statements



## hanso512 (16. Nov 2004)

hallo

ich bastle gerade an einer webapplikation mit servlets & postgresql
gibt es eine möglichkeit, dass man die einzelnen sql-statements bei ihrer
jeweiligen ausführung, mit zb. log4j loggen kann?

vielen dank


----------



## Bleiglanz (17. Nov 2004)

nein, entweder du nimmst das logging der Datenbank

oder log doch einfach den entsprechenden String, den hast du ja beim Aufruf???

einziges Problem sind die Prepared-Statements, da kenn ich auch keine gute Lösung wie man an das "fertige, gefüllte" SQL-Statement rankommt


----------



## thE_29 (17. Nov 2004)

Jo, das nervt extremst, das man die PreparedStatements net als aufgelöster zurückbekommen kann (oder gehts vielleicht doch )


----------



## hanso512 (17. Nov 2004)

verwende eben nur CallableStatement und PreparedStatement


----------



## Bleiglanz (17. Nov 2004)

jo, dann wirds schwierig

entweder mitloggen beim Aufruf, d.h. auch die parameter als Strings mit ins logfile reinschreiben oder eben wirklich in postgresql.conf

```
log_statement = yes
```


----------



## TheSunToucher (18. Nov 2004)

Man kann auch wrapper um die JDBC Klassen schreiben, so kann man logging einbauen und auch PreparedStatements auflösen. Dazu muss man das jeweilige Interface implementieren und die funktion entsprechend erweitern. Beim PreparedStmt kann man sich ja dann einen Vector o.ä. implementieren und sich die Werte für die Wildcards merken. Das ganze habe ich mal im Rahmen eines Firmen-Projekts gemacht, kann die Sourcen aber leider nicht rausgeben, dazu gibt's aber auch Tutorials.

Also, das sollte keine Anleitung sein, sondern nur ein denkanstoß, denn die Aussage "Geht nicht" ist falsch.

Gruß
Tim


----------

