我正在使用在 wicket 上运行的 java-ee 应用程序。
问题是,使用 JDBC 连接到 HyperSQL 数据库会创建一个巨大的日志文件 *.log。我的网址示例:
jdbc:hsqldb:file:C:\database\text;hsqldb.sqllog=0;hsqldb.applog=0
我需要使用一些 jdbc url 参数关闭日志记录。我已经尝试过这些:
hsqldb.sqllog=0;hsqldb.applog=0;
这不起作用,所以我尝试了这个组合:
hsqldb.log_data=false;hsqldb.reconfig_logging=false
但是使用这些参数,当我停止应用程序时,数据就会消失。
最佳答案
text.log
文件是在数据库上执行的事务的记录。如果使用 hsqldb.log_data=false
禁用它,则事务不会保留到磁盘。该名称源自数据库 URL 上的文件名。
hsqldb.sqllog
和 hsqldb.applog
设置用于诊断,默认为 0。
hsqldb.reconfig_logging=false
也用于诊断,并与 hsqldb.applog
设置一起使用。指南中讨论了这些设置:http://hsqldb.org/doc/2.0/guide/management-chapt.html#mtc_monitoring_operation
因此,如果您希望数据在应用程序关闭时继续存在,则不应禁用默认日志。请参阅http://hsqldb.org/doc/2.0/guide/management-chapt.html#mtc_cache_persistence了解如何减小 text.log
文件的大小。
关于java - 如何使用 URL 参数关闭 HSQL DB 中的日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57890721/