我正在使用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的基准测试之前,我从未真正关心过它