关闭hibernate日志记录控制台输出

我正在使用hibernate 3,希望阻止它将所有启动消息转储到控制台。我试着在log4j.properties中注释出标准行,但没有成功。我已将日志文件粘贴到下面。另外,我正在使用标准项目结构的eclipse,并且在项目文件夹和bin文件夹的根目录中都有log4j.properties的副本

###将日志消息直接发送到标准输出###
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.out
#log4j.appender.stdout.layout=org.apache.log4j.patternalyout
#log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
###将消息直接发送到hibernate.log文件###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.file=hibernate.log
log4j.appender.file.layout=org.apache.log4j.patternalyout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
###设置日志级别-有关更详细的日志记录,请将“info”更改为“debug”###
log4j.rootLogger=warn,stdout
#log4j.logger.org.hibernate=info
log4j.logger.org.hibernate=debug
###日志HQL查询解析器活动
#log4j.logger.org.hibernate.hql.ast.ast=debug
###只记录SQL
#log4j.logger.org.hibernate.SQL=debug
###记录JDBC绑定参数###
log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
###日志模式导出/更新###
log4j.logger.org.hibernate.tool.hbm2ddl=debug
###日志HQL解析树
#org.hlogger=hibernate.hql
###日志缓存活动###
#log4j.logger.org.hibernate.cache=debug
###日志事务活动
#log4j.logger.org.hibernate.transaction=debug
###日志JDBC资源获取
#log4j.logger.org.hibernate.jdbc=debug
###如果要跟踪连接,请启用以下行###
###使用DriverManager连接提供程序时发生泄漏###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trac5

重要提示:属性(hibernate配置的一部分,而不是日志框架配置的一部分!)

hibernate.show\u sql

通过绕过任何日志框架(您可以通过丢失消息的输出格式来识别)直接将日志记录到标准输出。如果您使用log4j之类的日志框架,您应该始终将该属性设置为false,因为它对您没有任何好处

这种情况让我恼火了很长时间,因为在我试图编写一些关于Hibernate的基准测试之前,我从未真正关心过它

发表评论