0

我正在尝试将休眠日志记录设置为错误。在 log4j.properties 中,这是我拥有的条目:

#---------- Spring log -------------------------------
log4j.logger.org.springframework=error
log4j.logger.org.springframework.transaction=error

#---------- Hibernate log ----------------------------
log4j.logger.org.hibernate=error

但是启动日志仍然显示这些消息:

31 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.2.GA
2328 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
2328 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
2344 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
6734 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: <pkg.class> -> bbbbb
7656 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: <pkg.class> -> aaaaa
8422 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: <pkg.class> -> xxxx

我怎样才能避免记录这些?记录这些似乎会减慢初始化速度。

4

1 回答 1

0

很可能您log4j.properties无法控制。

Hibernate 支持 SLF4J并且显然有很好的文档让你知道你必须做什么。

我建议您更进一步,通过按照SLF4J 文档设置应用程序日志记录来完全防弹。

本质上,如下图所示,就依赖关系而言,Log4j作为您的首选SLF4J实现,您必须:

  1. Apache Commons logging从您的所有传递(jcl)和Java Loggingjul)依赖项中明确排除。
  2. 在它们的位置包含它们相应的 SLF4J 桥接库jcl-over-slf4jjul-to-slf4j这会将类路径中的任何依赖库通过管道传输SLF4J到您的Log4j(和 props 文件)。

在此处输入图像描述

于 2016-08-04T23:25:51.413 回答