Spring非Boot Maven项目中如何关闭hibernate-validator的DEBUG日志
解决Hibernate Validator大量DEBUG日志问题
这问题我之前也碰到过!你踩的坑在于没找对hibernate-validator对应的日志命名空间——你配置的org.hibernate是给Hibernate ORM用的,而校验框架的日志其实在org.hibernate.validator这个包下,所以之前的配置根本没生效~
下面分几种常见的日志框架给出针对性配置:
1. 如果你用的是Log4j 1.x(配置文件为log4j.properties)
在配置文件中添加或修改:
# 把DEBUG级别提升为INFO,也可以设为WARN/ERROR进一步减少日志 log4j.logger.org.hibernate.validator=INFO # 如果想更精准过滤某部分子包的日志,比如引擎内部日志,可以单独配置 # log4j.logger.org.hibernate.validator.internal.engine=WARN
2. 如果你用的是Log4j 2.x(配置文件为log4j2.xml)
在<Loggers>节点下添加:
<Logger name="org.hibernate.validator" level="INFO" additivity="false"> <AppenderRef ref="你的日志输出Appender名称"/> </Logger> <!-- 同样可以针对子包细化配置 --> <!-- <Logger name="org.hibernate.validator.messageinterpolation" level="WARN"/> -->
3. 如果你用的是SLF4J + Logback(配置文件为logback.xml)
在配置文件中添加:
<logger name="org.hibernate.validator" level="INFO" additivity="false"> <appender-ref ref="你的日志输出Appender"/> </logger>
额外提醒
- 先确认你的项目实际使用的是哪种日志框架:可以看Maven依赖里有没有
log4j、log4j-core、logback-classic这类jar包,对应修改正确的配置文件。 - 如果只想保留重要日志,把级别设为
WARN或ERROR会比INFO更彻底地减少日志量。
内容的提问来源于stack exchange,提问作者ZeroProcess
相关产品推荐
相关产品推荐

