我有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
我看不到为参数设置了什么值。
有什么想法吗?
答案 0 :(得分:0)
这意味着Hibernate日志不会通过log4j。请注意,Hibernate本身使用slf4j,因此您需要将slf4j-log4j绑定库添加到类路径中。
答案 1 :(得分:0)
除了正确设置Log4J(建议使用axtavt)之外,转动hibernate.show_sql
属性,否则您将获得重复的日志消息:一个通过您的日志框架,另一个直接打印到控制台上。
答案 2 :(得分:0)
一般来说看起来是正确的,但我认为你写trace
而不是TRACE
并且行尾的;
对我来说也是新的,这很奇怪。
所以我猜问题是log4j语法。