【发布时间】:2013-09-03 16:06:42
【问题描述】:
Hibernate 似乎正在将正常信息记录到System.err。举几个例子:
System.err: Sep 03, 2013 10:41:55 AM org.hibernate.annotations.common.Version <clinit>
System.err: Sep 03, 2013 10:41:55 AM org.hibernate.Version logVersion
System.err: Sep 03, 2013 10:41:55 AM org.hibernate.cfg.Environment <clinit>
System.err: Sep 03, 2013 10:41:55 AM org.hibernate.cfg.Environment buildBytecodeProvider
System.err: Sep 03, 2013 10:42:02 AM org.hibernate.tool.hbm2ddl.TableMetadata <init>
总共大约有 70 个。我的日志设置如下:
log4j-over-slf4j.jar
slf4j-api.jar
slf4j-simple-1.7.5.jar
我知道 slf4j-simple,per the SLF4J Manual,"outputs all events to System.err. Only messages of level INFO and higher are printed."
知道了这一点,我将org.slf4j.simpleLogger.logFile 系统属性设置为System.out 为specified in the SimpleLogger docs。
但是,这并没有改变任何行为,我仍然收到 70 多个 Hibernate System.err 日志。
有什么方法可以将 Hibernate 配置为不输出到System.err?问题是这些 System.err 消息被解释为 WARN,而它们只是信息性消息。
【问题讨论】:
-
您真的设置属性吗?
-
据我所知,是的。我在未设置属性(默认为 System.err)时进行了一些测试,并且收到了更多已输出到
System.err的日志。设置属性后,这些日志语句消失了,但 Hibernate 仍然存在。