我在项目中设置了嵌入式Hsqldb.但它在工作时会在输出上转储大量信息,而且我目前不需要这些信息:
Mar 29,2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent
INFO: Checkpoint start
Mar 29,2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent
INFO: checkpointClose start
Mar 29,2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent
INFO: checkpointClose end
Mar 29,2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent
INFO: Checkpoint end
有没有办法让这个输出沉默?
最佳答案
不幸的是,我不相信.我们在项目中遇到了同样的问题.我相信我在一个时间点检查了源,并得出结论hsqldb没有提供影响此日志记录的方法.
我的立场得到了纠正(正如@fredt在评论中提到的另一个答案),你可以通过jdk日志级别控制这个日志记录.将“hsqldb.db”日志级别设置为类似WARNING将禁止此输出.您可以使用logging.properties文件或以编程方式(在hsqldb加载之后)使用Logger.getLogger(“hsqldb.db”).setLevel(Level.WARNING)(假设您使用的是java util日志记录).
如下面的注释所述,hsqldb还会重置java日志记录配置.如果将其嵌入到另一个应用程序中,您可能希望通过将系统属性“hsqldb.reconfig_logging”设置为“false”(在加载hsqldb之前)来禁用该功能.