我试图摆脱这些错误消息出现在我们的日志/控制台了:[WARN ] [2023-05-09 11:19:46.567] [deprecation.createCriteria:1832] - HHH90000022: Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead
我可以使用以下两种方法之一来使用log4j 2的XML配置文件完成此操作:
<Logger name="org.hibernate.orm.deprecation" additivity="false" level="WARN">
<RegexFilter regex=".*HHH90000022.*" onMatch="DENY" onMismatch="NEUTRAL"/>
</Logger>
<Logger name="org.hibernate.orm.deprecation" additivity="false" level="ERROR">
</Logger>
但是,我们使用.properties文件来提供这个服务(任何其他服务),所以理想情况下,我需要找到与上述服务完全等效的.properties文件。
显然,使用log4j可以这样实现:
log4j.logger.org.hibernate.orm.deprecation=error
log4j.logger.org.hibernate=error
但是log4j 2的语法是不同的,我找不到任何具体的例子-有人能帮我吗?
1条答案
按热度按时间zvokhttg1#
我还没有完全弄清楚如何使用日志记录器来实现这一点,因为出于一些奇怪的原因,
additivity=false
似乎删除了该日志记录器的所有日志记录。但是您也可以在appender上设置过滤器,这在我的情况下是可以接受的。我的
log4j2.properties
看起来像这样:请注意,这将通过过滤器传递appender的所有日志,而不仅仅是Hibernate日志。