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,根据 SLF4J 手册,"outputs all events to System.err. Only messages of level INFO and higher are printed."
知道了这一点,我将org.slf4j.simpleLogger.logFile系统属性设置System.out为SimpleLogger 文档中指定的值。
然而,这并没有改变任何行为,我仍然收到 70 多个 Hibernate System.err 日志。
有什么方法可以将 Hibernate 配置为不输出到System.err?问题是这些System.err消息被解释为 WARN,而它们只是信息性消息。