2010-02-25 64 views
15

這是我的記錄器配置:Log4j - org.hibernate.type不起作用!

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

,但我沒有看到類型bingings

所以,我想這個

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與經典的查詢翻譯

任何線索?

+4

請發佈整個log4j配置,不只是它的位。 – skaffman 2010-02-25 08:40:01

回答

27

我用這個休眠日誌

### 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 

你可以發表評論或取消註釋幾個選項

注意:你的web應用將是慢了很多,當你使用它。所以用它來調試

+1

試過這個,沒有工作... 我會發布整個log4j配置 也許有什麼干涉 – 2010-02-26 12:23:14

+0

你是怎麼意思它沒有工作?你沒有得到期望的結果? – Michel 2010-02-26 13:49:40

0

我與Hibernate 3.5.5面臨着同樣的問題,我發現,跟蹤是通過靜電場在組織啓用。 hibernate.type.NullableType以下列方式:

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

所以我在日誌配置日誌級別的跟蹤設置org.hibernate.type.Type並重新啓動服務器。

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