我在我的应用程序中使用HSQLDB.现在我需要记录每个执行的sql语句.我不想自己处理SQL日志.在HSQLDB中有没有一种标准的方法呢?
fre*_*edt 11
HSQLDB 2.2.x支持SQL日志记录.假设您的数据库已命名,test并且您使用JDBC URL进行连接jdbc:hsqldb:file:test
test.log是HSQLDB内部使用的数据更改日志.它不包含SELECT语句.它由HSQLDB创建和删除.这不是你想要的.
test.sql.log是包含所有带有时间和会话信息的SQL语句以及预准备语句的任何参数的日志.如果使用以下内容,则会创建此日志
SET DATABASE EVENT LOG SQL LEVEL 3
它包含以下条目:
2012-02-08 22:19:36.484 DETAIL 4 CALL USER()
2012-02-08 22:19:36.484 DETAIL 4 call database_version()
2012-02-08 22:19:36.484 DETAIL 4 COMMIT
2012-02-08 22:19:36.500 DETAIL 4 INSERT INTO Customer VALUES(0,'Laura','Steel','429 Seventh Av.','Dallas')
Run Code Online (Sandbox Code Playgroud)
您可以在URL上使用hsqldb.sqllog = 3
请参阅此处的指南并查看本章末尾的命令和属性语法:
http://hsqldb.org/doc/2.0/guide/management-chapt.html#mtc_monitoring_operation