在控制台中禁用 HSQLDB 服务器日志

Posted

技术标签:

【中文标题】在控制台中禁用 HSQLDB 服务器日志【英文标题】:Disable HSQLDB Server logs within console 【发布时间】:2018-01-20 23:58:45 【问题描述】:

大家好,这是我的第一篇文章,如果我遗漏了任何需要的信息,我深表歉意。我有一个 Java 程序,它设置为将 Hibernate 与 HSQL 数据库一起使用。我能够在控制台中限制 Hibernate 日志,但是无论如何我都找不到抑制出现的 HSQL Server 日志。有什么想法吗?

示例日志:

[Server@53d8d10a]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@53d8d10a]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@53d8d10a]: [Thread[main,5,main]]: setDatabasePath(0,file:realitystocks)
[Server@53d8d10a]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@53d8d10a]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@53d8d10a]: [Thread[main,5,main]]: setDatabaseName(0,stocks
[Server@53d8d10a]: [Thread[main,5,main]]: start() entered
[Server@53d8d10a]: [Thread[HSQLDB Server @53d8d10a,5,main]]: run() entered
[Server@53d8d10a]: Initiating startup sequence...

我能够限制 Hibernate 日志的方法是使用以下方法:

Logger.getLogger("org.hibernate").setLevel(Level.WARNING);

但是同样的解决方案不适用于 HSQL

【问题讨论】:

【参考方案1】:

启动服务器时,在属性中使用server.silent=true 或在命令行中使用等效项。

【讨论】:

你是救生员!!根据您的回答,我能够找到/使用 server.setSilent(true);这不会完全抑制所有服务器日志,但会显着减少向控制台显示的消息。剩下的主要是启动序列,但现在可以读取日志,而无需滚动浏览巨大的日志。谢谢!!! 知道如何使用Java Opts 做到这一点吗?【参考方案2】:

如果其他人有同样的问题,做一个

server.setLogWriter(null);

让服务器绝对安静。

【讨论】:

以上是关于在控制台中禁用 HSQLDB 服务器日志的主要内容,如果未能解决你的问题,请参考以下文章

如何在控制台中禁用 MongoDB 日志消息?

在 vscode 调试控制台中禁用符号加载的详细日志记录

在 Spring Boot 上禁用应用程序的控制台日志记录

加载 Doctrine 固定装置时如何在控制台中禁用查询日志记录?

Java PhantomJSDriver禁用控制台中的所有日志

禁用单个 .Net Core 控制器端点的日志记录