Как распечатать информацию о привязке параметра гибернации? - PullRequest
1 голос
/ 18 февраля 2011

У меня 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 голосов
/ 18 февраля 2011

Помимо правильной настройки Log4J (как и было предложено axtavt), включите свойство hibernate.show_sql, в противном случае вы получите дублированное сообщение журнала: одно через вашу среду ведения журнала, а второе напечатано непосредственно на консоли.

0 голосов
/ 18 февраля 2011

В целом это выглядит правильно, но я думаю, что странно, что вы пишете trace вместо TRACE, а ; в конце строки также является для меня новым

Так что, я думаю, проблема в синтаксисе log4j.

0 голосов
/ 18 февраля 2011

Это означает, что журнал Hibernate не проходит через log4j. Обратите внимание, что Hibernate изначально использует slf4j, поэтому вам нужно добавить библиотеку привязки slf4j-log4j в ваш путь к классам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...