【问题标题】:org.hsqldb disable checkpoint messagesorg.hsqldb 禁用检查点消息
【发布时间】:2017-06-11 23:22:23
【问题描述】:

我将 HSQLDB (2.3.4) 与 JPA、Hibernate (5.2.6.Final) 和 spring-data-jpa (1.10.6.Final) 一起使用。此外,该应用程序使用 org.slf4j 和 slf4j-log4j12。我想禁用 HSQLDB 服务器似乎记录的以下消息:

17-01-26 14:07:47 INFO  open start - state modified
17-01-26 14:07:47 INFO  checkpointClose start
17-01-26 14:07:47 INFO  checkpointClose synched
17-01-26 14:07:47 INFO  checkpointClose script done
17-01-26 14:07:47 INFO  checkpointClose end

相反,我想将 HSQLDB 日志记录设置为 WARNERROR

在创建将在某一时刻启动 HSQLDB 服务器的 Spring Application Context 之前,我尝试了以下几行:

System.setProperty("hsqldb.reconfig_logging", "false");
Logger.getLogger("org.hsqldb").setLevel(Level.WARNING);

此外,我在log4j.properties 中添加了以下内容:

log4j.logger.org.hibernate=WARN
log4j.logger.org.springframework=WARN
log4j.logger.org.springframework.data=WARN
log4j.logger.org.hsqldb=WARN

不过,我还是从 HSQL 收到了 INFO 消息...

这是我的dataSource spring.xml 的一部分:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
    <property name="url" value="jdbc:hsqldb:file:data/chefdb;hsqldb.write_delay=false" />
    <property name="username" value="sa" />
    <property name="password" value="" />
</bean>

关于如何禁用消息的任何想法?

提前致谢!

【问题讨论】:

  • 找到消息记录到的类别(可能不是 org.hsqldb ?)并设置该日志级别

标签: hibernate jpa log4j spring-data-jpa hsqldb


【解决方案1】:

我必须将以下内容添加到我的 log4j xml 文件中:

    <logger level="warn" name="hsqldb.db"/>

    ...

【讨论】:

    【解决方案2】:

    感谢@尼尔斯托克顿:

    我在我的模式中添加了 %c 并将记录器的名称标识为 hsqldb.db。添加后消息消失:

    log4j.logger.hsqldb.db=WARN
    

    到我的 log4j.properties。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      相关资源
      最近更新 更多