关闭hibernate日志记录到控制台

Cro*_*ias 16 java spring hibernate log4j

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

Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Run Code Online (Sandbox Code Playgroud)

我已经配置了我的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>
Run Code Online (Sandbox Code Playgroud)

我如何沉默这些消息?

jkr*_*ill 33

我很确定你会看到那些SQL语句,因为你的Hibernate配置中的某个属性"hibernate.show_sql"被设置为true.找到该设置并更改为false.

  • `hibernate.show_sql`属性也可以在`AbstractJpaVendorAdapter.setShowSql(Boolean)`/`HibernateJpaVendorAdapter.setShowSql(Boolean)中设置. (5认同)
  • 检查Spring配置中声明SessionFactory的部分.'hibernate.show_sql'属性通常设置在SessionFactory的'hibernateProperties'中. (2认同)

小智 5

如果您有persistence.xml 文件,请尝试。那是我找到它的地方。


小智 5

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

spring.jpa.show-sql=false
Run Code Online (Sandbox Code Playgroud)

它将关闭休眠消息。