无法阻止休眠将日志写入控制台(log4j.properties 可以)

2022-09-02 01:34:11

我已经设置了

<property name="show_sql">false</property>

我已经禁用了log4j.properties中的所有消息

但是Hibernate会将所有查询和语句写入控制台。


答案 1

将 告诉休眠设置为 将所有 SQL 语句写入控制台。这是将日志类别 org.hibernate.SQL 设置为调试的替代方法。hibernate.show_sqltrue

因此,即使将此属性设置为 ,也请确保未定义以下类别(或配置为使用控制台追加器):false

log4j.logger.org.hibernate.SQL=DEBUG

此外,请确保在实例化对象时不要以编程方式将 设置为 true。狩猎类似的东西:hibernate.show_sqlConfiguration

Configuration cfg = new Configuration().configure().
    .setProperty("hibernate.show_sql", "true");

请注意,将配置属性的全名作为第一个参数,即,而不仅仅是 。setProperty(String propertyName, String value)hibernate.show_sqlshow_sql


答案 2

嗨,我发现你也可以用log4j.properties文件中的这2行解决这个问题。

log4j.logger.org.hibernate = WARN
log4j.logger.org.hibernate = ERROR

推荐