【问题标题】:Log4j - org.hibernate.type doesn't work!Log4j - org.hibernate.type 不起作用!
【发布时间】:2011-01-20 21:58:29
【问题描述】:

这是我的记录器配置:

log4j.logger.org.hibernate.SQL=TRACE, stdout
log4j.logger.org.hibernate.type=TRACE, stdout

但我没有看到类型绑定

所以我尝试了这个

log4j.logger.org.hibernate=TRACE, stdout

看看我是否遗漏了什么(这显示了所有休眠记录器) 我发现org.hibernate.engine.QueryParameters 记录器也显示了参数绑定(仍然没有 org.hibernate.type 记录器绑定消息的迹象)

然后我尝试了

log4j.logger.org.hibernate.SQL=TRACE, stdout
log4j.logger.org.hibernate.type=TRACE, stdout
log4j.logger.org.hibernate.engine.QueryParameters=TRACE, stdout

但它只显示来自 org.hibernate.SQL 记录器的日志!

我们使用带有经典查询翻译器的 Hibernate 3.2.6.ga

有什么线索吗?

【问题讨论】:

  • 请发布整个 log4j 配置,而不仅仅是它的一部分。

标签: java hibernate log4j


【解决方案1】:

我将它用于休眠日志

### Hibernate logging configuration ###  

### Log everything (a lot of information, but very useful for troubleshooting) ###  
#log4j.logger.org.hibernate=info  

### Log HQL and SQL ASTs during query parsing ###  
log4j.logger.org.hibernate.hql.ast.AST=DEBUG, SQL_APPENDER  
log4j.additivity.org.hibernate.hql.ast.AST=false  

### log just the SQL  
log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER  
log4j.additivity.org.hibernate.SQL=false  

### log JDBC bind parameters. Very userfull, when debug parameterized queries ###  
log4j.logger.org.hibernate.type=TRACE, SQL_APPENDER  
log4j.additivity.org.hibernate.type=false  

### log schema export/update ###  
#log4j.logger.org.hibernate.tool.hbm2ddl=info  

### log HQL parse trees  
#log4j.logger.org.hibernate.hql=debug  

### log cache activity ###  
#log4j.logger.org.hibernate.cache=info  

### log transaction activity  
#log4j.logger.org.hibernate.transaction=debug  

### Log all JDBC resource acquisition  
#log4j.logger.org.hibernate.jdbc=debug  

### enable the following line if you want to track down connection ###  
### leakages when using DriverManagerConnectionProvider ###  
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace  

log4j.appender.SQL_APPENDER=org.apache.log4j.RollingFileAppender  
log4j.appender.SQL_APPENDER.File=c\:/EC_sql.log
log4j.appender.SQL_APPENDER.MaxFileSize=1000KB  
log4j.appender.SQL_APPENDER.MaxBackupIndex=62  
log4j.appender.SQL_APPENDER.layout=org.apache.log4j.PatternLayout  
log4j.appender.SQL_APPENDER.layout.ConversionPattern=[%d] %5p [%t] (%F:%L) - %m%n

您可以评论或取消评论多个选项

注意:当你使用它时,你的 webapp 会慢很多。所以只能用于调试

【讨论】:

  • 试过了,没用...我会发布整个log4j配置也许那里有什么干扰
  • 你的意思是它没用?你没有得到想要的结果?
【解决方案2】:

认为是bug,看HHH-2835

【讨论】:

    【解决方案3】:

    我在使用 hibernate 3.5.5 时遇到了同样的问题,我发现 org.hibernate.type.NullableType 中的静态字段通过以下方式启用了跟踪:

    private static final boolean IS_VALUE_TRACING_ENABLED = LoggerFactory.getLogger( StringHelper.qualifier( Type.class.getName() ) ).isTraceEnabled();
    

    所以我在日志配置日志级别为 org.hibernate.type.Type 设置了 TRACE 并重新启动了服务器。

    <logger name="org.hibernate.type.Type" level="TRACE">
        <appender-ref ref="myAppender"/>
    </logger>
    

    【讨论】:

      【解决方案4】:

      就我而言,我添加了依赖项

      <dependency>
          <groupId>org.hibernate</groupId>
          <artifactId>hibernate-entitymanager</artifactId>
          <version>5.5.6.Final</version>
      </dependency>
      

      这不是必需的。我删除了它,一切正常

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-16
        • 2014-03-22
        • 1970-01-01
        • 1970-01-01
        • 2013-07-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多