【发布时间】: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 日志记录设置为 WARN 或 ERROR。
在创建将在某一时刻启动 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