You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Log4j2 properties文件中屏蔽Hibernate弃用警告信息

用Log4j2 Properties配置消除Hibernate特定弃用警告

需要消除的Hibernate弃用警告如下:

[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

已通过Log4j2 XML配置实现需求,现需转换为Log4j2 .properties 格式,以下是对应两种方案的写法:

方案1:通过正则过滤指定警告(对应XML的RegexFilter实现)

在Log4j2 properties中,为目标logger添加正则过滤器,精准屏蔽指定警告:

# 定义针对org.hibernate.orm.deprecation的logger
logger.hibernate-deprecation.name = org.hibernate.orm.deprecation
logger.hibernate-deprecation.additivity = false
logger.hibernate-deprecation.level = WARN

# 添加正则过滤器,匹配HHH90000022标识并拒绝输出
logger.hibernate-deprecation.filter.1.type = RegexFilter
logger.hibernate-deprecation.filter.1.regex = .*HHH90000022.*
logger.hibernate-deprecation.filter.1.onMatch = DENY
logger.hibernate-deprecation.filter.1.onMismatch = NEUTRAL

方案2:提升日志级别屏蔽警告(对应XML的level=ERROR实现)

直接将org.hibernate.orm.deprecation的日志级别设为ERROR,直接屏蔽所有WARN级别的弃用警告:

logger.hibernate-deprecation.name = org.hibernate.orm.deprecation
logger.hibernate-deprecation.additivity = false
logger.hibernate-deprecation.level = ERROR

与传统Log4j配置的区别

传统Log4j的写法为:

log4j.logger.org.hibernate.orm.deprecation=error
log4j.logger.org.hibernate=error

Log4j2采用logger.<自定义标识>.name的命名规则定义logger,同时支持更灵活的过滤器配置语法,写法与传统Log4j有明显差异。

内容的提问来源于stack exchange,提问作者Gotyb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 10:35:16