JUL logging.properties и Hibernate

Я пытаюсь заставить Hibernate регистрировать значения параметров. Я использую Netbeans и развертываю полученный файл WAR в Glassfish в системе Ubuntu. Я использую ведение журнала java util (а не log4j и т. Д.), Потому что я не использовал его раньше и хочу посмотреть, как он сравнивается.

Я установил для свойства hibernate.show_sql значение true в persistence.xml, и да, я могу видеть, как SQL выходит в журналах (уровень INFO). Однако, чтобы увидеть значения параметров, используемые в SQL, я считаю, что мне нужно изменить уровень журнала для Hibernate на TRACE (или, по крайней мере, DEBUG), тогда как мое приложение, похоже, установлено на уровень INFO.

Я понимаю, что logging.properties - это то место, где можно это сделать, но все документы, похоже, указывают на настройку этого в JRE, которая будет общесистемной.

У меня вопрос ... могу ли я вместо этого разместить logging.properties где-нибудь в моем приложении, чтобы разные приложения на одном сервере приложений могли иметь разные конфигурации ведения журнала?

И, учитывая, что (из того, что я прочитал) Hibernate использует общее ведение журнала, получу ли я эту информацию вообще, поскольку я использую JUL, а не обычное ведение журнала?

Спасибо


person Richard    schedule 18.09.2012    source источник


Ответы (1)


Вы можете поместить файл свойств в корень пути к классам в вашем приложении. Для веб-приложений одно из мест - WEB-INF / classes

Если вы включите уровень TRACE, вы сможете увидеть такие операторы TRACE

insert into table (name, id) values (?, ?)
.........................

binding '1' to parameter: 2

Однако, вероятно, это не то, что вам нужно. Если вы хотите, чтобы сам sql отображал включенный связанный параметр, вы можете использовать библиотеку P6Spy. Настроить P6Spy очень просто. Вы можете увидеть, как его установить здесь .

После настройки вы можете увидеть sql в журналах

insert into grouptable (name, id) values ('Name', 1)
person Shailendra    schedule 18.09.2012
comment
Спасибо, Шайлендра, у меня все работает. Просто нужно было найти правильный файл logging.properties. Файл моего связанного экземпляра Netbeans / Glassfish находился в C: \ Users \ richard \ .netbeans \ 7.1.1 \ config \ GF3 \ domain1 \ config. Я установил org.hibernate.level = FINEST (похоже, соответствует TRACE), и теперь я получаю всю информацию о трассировке гибернации. Я собираюсь попробовать P6Spy сейчас, это звучит бесценно. Спасибо за совет - person Richard; 18.09.2012