如何打印hibernate参数绑定信息?

时间:2011-02-18 08:25:06

标签: hibernate binding parameters

我有googing,它不起作用。

这是我的log4j.properties:

# stdout is set to be a ConsoleAppender.
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %l %x - %m%n

log4j.rootLogger=INFO, stdout,requestout

log4j.logger.org.hibernate=INFO;
log4j.logger.org.hibernate.sql=DEBUG;
log4j.logger.org.hibernate.type=trace;

但是当启动应用程序时,我只能得到如下日志:

Hibernate: select logentry0_.uri as col_0_0_, count(logentry0_.uri) as col_1_0_ from app.t_log logentry0_ where logentry0_.time between ? and ? group by logentry0_.uri order by col_1_0_ desc

我看不到为参数设置了什么值。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

这意味着Hibernate日志不会通过log4j。请注意,Hibernate本身使用slf4j,因此您需要将slf4j-log4j绑定库添加到类路径中。

答案 1 :(得分:0)

除了正确设置Log4J(建议使用axtavt)之外,转动hibernate.show_sql属性,否则您将获得重复的日志消息:一个通过您的日志框架,另一个直接打印到控制台上。

答案 2 :(得分:0)

一般来说看起来是正确的,但我认为你写trace而不是TRACE并且行尾的;对我来说也是新的,这很奇怪。

所以我猜问题是log4j语法。