关闭休眠日志控制台输出

新手上路,请多包涵

我正在使用休眠 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.PatternLayout
#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.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### 设置日志级别 - 更详细的日志记录将“信息”更改为“调试”###

log4j.rootLogger=警告,标准输出

#log4j.logger.org.hibernate=信息
log4j.logger.org.hibernate=调试

### 记录 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 解析树
#log4j.logger.org.hibernate.hql=debug

### 日志缓存活动###
#log4j.logger.org.hibernate.cache=debug

### 记录事务活动
#log4j.logger.org.hibernate.transaction=debug

### 记录JDBC资源获取
#log4j.logger.org.hibernate.jdbc=debug

### 如果要跟踪连接,请启用以下行###
### 使用 DriverManagerConnectionProvider 时泄漏###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trac5

原文由 Jared 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

尝试设置更合理的日志记录级别。 Setting logging level to info means that only log event at info or higher level ( warn , error and fatal ) 被记录,即 debug 记录事件被忽略。

 log4j.logger.org.hibernate=info

或在 log4j 配置文件的 XML 版本 中:

 <logger name="org.hibernate">
  <level value="info"/>
</logger>

另请参阅 log4j 手册

原文由 Juha Syrjälä 发布,翻译遵循 CC BY-SA 2.5 许可协议

重要通知:属性(休眠配置的一部分,不是日志框架配置的一部分!)

 hibernate.show_sql

绕过任何日志记录框架(您可以通过缺少的消息输出格式来识别) 直接 控制到 STDOUT 的日志记录。如果您使用像 log4j 这样的日志记录框架, 您应该 始终 将该属性设置为 false ,因为它对您没有任何好处。

这种情况激怒了我很长时间,因为在我尝试编写一些关于 Hibernate 的基准之前,我从来没有真正关心过它。

原文由 user1050755 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏