【问题标题】:Turn off hibernate logging to console关闭休眠日志到控制台
【发布时间】:2011-08-26 02:55:06
【问题描述】:

运行我的 Spring/Hibernate 应用程序时,我在控制台上看到以下不需要的输出:

Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....

我已经像这样配置了我的 Log4j 记录器:

   <logger name="org.hibernate">
     <level value="FATAL"/>
   </logger>

   <category name="STDOUT">
      <priority value="WARN"/>
   </category>
   <category name="STDERR">
      <priority value="WARN"/>
   </category>   

   <!-- for all other loggers log only info and above log messages -->
   <root>
      <priority value="WARN"/> 
      <appender-ref ref="STDOUT" /> 
   </root>

如何使这些消息静音?

【问题讨论】:

    标签: java spring hibernate log4j


    【解决方案1】:

    我相当肯定您看到了这些 SQL 语句,因为在您的 Hibernate 配置中的某处,属性“hibernate.show_sql”设置为 true。找到该设置并将其更改为 false。

    【讨论】:

    • 我没有休眠配置文件。我将休眠注释与 Spring 3 一起使用。
    • 检查您声明 SessionFactory 的 Spring 配置部分。 'hibernate.show_sql' 属性通常设置在 SessionFactory 的 'hibernateProperties' 中。
    • hibernate.show_sql 属性也可以在AbstractJpaVendorAdapter.setShowSql(Boolean) / HibernateJpaVendorAdapter.setShowSql(Boolean) 中设置
    【解决方案2】:

    如果你有一个 persistence.xml 文件,试试那里。那是我找到它的地方。

    【讨论】:

    • 我在那里有&lt;property name="eclipselink.logging.level" value="ALL"/&gt;。可以是 INFO、CONFIG 等,以减少日志记录。
    【解决方案3】:

    通过添加解决了这个问题:

    <property name="hibernate.show_sql" value="false"/>
    

    在persistence.xml文件中,如果你有的话

    【讨论】:

      【解决方案4】:

      在 applications.properties 文件中将以下设置为 false:

      spring.jpa.show-sql=false
      

      它将关闭休眠消息。

      【讨论】:

        【解决方案5】:

        如果您根据您的配置使用application.yml 文件,您可以在jpa 属性下找到属性show-sql:true

        【讨论】:

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