[英]How to disable Spring Boot Hibernate “Listing entities” option?
我們有一個 Spring 引導 RESTful web 應用程序。 每當將數據提交到端點時,日志中都會充滿代表提交過程中涉及的數據庫實體的 state 的數據。
查看日志我看到了這個:
2019-11-01 10:50:44.686 DEBUG [https-jsse-nio-8443-exec-2] o.h.i.u.EntityPrinter [EntityPrinter.java:102] Listing entities:
然后打印出參與牽引的每個實體……甚至是圖像等的二進制數據。
我知道這是一個 DEBUG 語句,但必須有一種方法可以處於 DEBUG 模式,並且不會將所有無用的數據打印到日志中。 我該怎么做,如何關閉“列出實體”功能?
您是否在DEBUG
日志級別模式下運行您的應用程序?
嘗試在application.yml
文件中將 package org.hibernate.internal.util
的日志級別設置為INFO
。
logging:
level:
org.hibernate.internal.util: INFO
有問題的日志由 class EntityPrinter
( source ) 生成,屬於 package org.hibernate.internal.util
(String toString()
方法實現的一部分。
public void toString(Iterable<Map.Entry<EntityKey, Object>> entitiesByEntityKey) throws HibernateException {
if ( !LOG.isDebugEnabled() || !entitiesByEntityKey.iterator().hasNext() ) {
return;
}
LOG.debug( "Listing entities:" );
int i = 0;
for ( Map.Entry<EntityKey, Object> entityKeyAndEntity : entitiesByEntityKey ) {
if ( i++ > 20 ) {
LOG.debug( "More......" );
break;
}
LOG.debug( toString( entityKeyAndEntity.getKey().getEntityName(), entityKeyAndEntity.getValue() ) );
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.