gpt4 book ai didi

spring - 关闭 net.sf.ehcache 和 org.hibernate DEBUG 日志记录

转载 作者:行者123 更新时间:2023-12-05 07:09:31 26 4
gpt4 key购买 nike

在我的 Spring(版本 5.2.5.RELEASE)应用程序中,我从 net.sf.ehcacheorg.hibernate 获得了大量 DEBUG 消息。我正在使用 hibernate-ehcache 的 5.2.10.Final 版本。消息如下所示:

16:20:12.910 [RMI TCP Connection(3)-127.0.0.1] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: XA_COMMIT
16:20:12.910 [RMI TCP Connection(3)-127.0.0.1] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: XA_ROLLBACK
16:20:12.910 [RMI TCP Connection(3)-127.0.0.1] DEBUG net.sf.ehcache.statistics.extended.ExtendedStatisticsImpl - Mocking Operation Statistic: XA_RECOVERY

还有很多这样的:

1:14:39.284 [http-nio-8080-exec-3] DEBUG org.hibernate.engine.internal.TwoPhaseLoad - Done materializing entity [com.acme.MyBean#145]

我试图通过在 log4j.xml 中使用它来关闭它们

<logger name="net.sf.ehcache">
<level value="WARN"/>
</logger>

我也在 application.properties 中尝试过:

logging.level.org.springframework.web=WARNING
logging.level.org.hibernate=ERROR
logging.level.org.springframework.cache=WARNING

但是这些更改都没有过滤掉 DEBUG 消息。

这是在 spring-config.xml 中定义的 ehcache 配置:

<bean id="readOnlyDatabaseSessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">${hibernate.debug}</prop>
<prop key="hibernate.format_sql">${hibernate.debug}</prop>
<prop key="hibernate.use_sql_comments">${hibernate.debug}</prop>
<prop key="hibernate.cache.region.factory_class">
org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
</prop>
<prop key="net.sf.ehcache.configurationResourceName">
ehcache.xml
</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.default_batch_fetch_size">100</prop>
</props>
</property>
<property name="dataSource" ref="readOnlyDataSource"/>
</bean>

我在 application.properties 中有以下设置:

# logging for hibernate
logging.level.org.hibernate.SQL=warn
logging.level.org.hibernate.stat=warn
logging.level.org.hibernate.type=warn

logging.level.org.springframework.web=WARN
logging.level.org.hibernate=ERROR
logging.level.org.springframework.cache=WARN

logging.level.root=WARN
logging.level.net.sf.ehcache=WARN

spring.jpa.properties.hibernate.generate_statistics=false

如何关闭 net.sf.ehcacheorg.hibernate 的 DEBUG 消息?

最佳答案

如果您想关闭特定包的日志记录,您应该使用值 off。这将适用于包和类级别,例如:

logging.level.org.hibernate.SQL=OFF

com.yourproject.util.SomeUtilsClass=OFF

通常 logging.level.net.sf.ehcache=WARN 应该可以工作,但您可以试试:

logging.level.net.sf.ehcache.statistics.extended=WARN

如果您正在运行 junit 测试,您应该为此更新/创建不同的配置,因为默认情况下 junit 将使用 DEBUG 作为根日志级别,当您启动 springboot 应用程序时,它将使用默认 INFO 以及您在 application.properties 中自定义的内容。

关于spring - 关闭 net.sf.ehcache 和 org.hibernate DEBUG 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61512103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com