2014-09-03 4 views
1

Я искал часы для решения.Как изменить уровень ведения журнала в Hibernate4?

Как изменить уровень ведения журнала в Hibernate 4.3.6 на DEBUG?

В официальном documentation упоминается, что

Полностью устареть. Hibernate использует JBoss Logging, начиная с 4.0. Это будет задокументировано, поскольку мы переносим этот контент в Руководство разработчика.

Я ничего не нашел в Руководстве для разработчиков, поэтому я предполагаю, что они даже не начали документировать его.

Stackoverflow post here не помогает мне вообще. Я использую Hibernate 4 как отдельную библиотеку, и мне все равно, что Maven, JBoss или что-то еще может быть XML-файлом.

Есть ли всестороннее руководство по изменению уровня отладки в новейшей версии Hibernate?

+0

Извините, но это не дубликат.Другой пост ничего не решает. Существует только ссылка на некоторый код JBoss, но нет реального решения проблемы. – Jagger

+0

OP не заинтересован в использовании SLF4J, они просто хотят изменить уровень ведения журнала. – Raedwald

ответ

3

Во-первых, извините за игнорирование вопроса. Я немедленно удалю комментарий.

Я думаю, что они перенесли руководство, но забыли обновить страницу. Примечание по новому userguide говорит:

Это все еще очень много работы. Помощь, безусловно, приветствуется!

Logging Guide утверждает, что «Это в значительной степени основополагающая документация JBoss Logging, так как JBoss Logging в настоящее время не предоставляет документацию самостоятельно.» к сожалению.

Но есть некоторые полезные советы:

Во-первых, JBoss Logging будет выглядеть для установки с ключом org.jboss.logging.provider, который может быть установлен в одно из следующих значений системы:
-jboss
-jdk
-log4j2
-log4j
-slf4j

Далее JBoss Logging будет искать службы JDK (см Javadocs Fo r java.util.ServiceLoader для получения подробной информации) для своего контракта «поставщик» (org.jboss.logging.Provider). Если доступно несколько экземпляров, он будет использовать первый, возвращенный ClassLoader.

Если вы хотите использовать JBoss Logging, поддерживаемую другой библиотекой журналов, вам нужно поместить свои библиотеки в свой путь к классам. После этого вы можете использовать связанный файл конфигурации (logback.xml, log4j.properties и т. Д.), Чтобы определить уровень ведения журнала для org.hibernate.

+0

Спасибо, я постараюсь сделать это. – Jagger

+0

Спасибо! Многие зависимости транзитивно приносят свой журнал, поэтому нам нужно их исключить (в идее intellij вы можете легко увидеть, какие зависимости приносят библиотеки журналов, добавлять исключения в maven) – Pleymor

0

Посмотрите, может ли this post помочь в решении проблемы. Я создал этот пост раньше, когда столкнулся с той же проблемой. Поместив log4j.properties и поместив файл slf4j jar в classpath, я исправил свою проблему. Я также использую Hibernate 4.3.6

+0

К сожалению, это не сработает. Помещение 'slf4j' и' log4j.properties' ничего не меняет. То, что загружается Hibernate 4.3.6, - это 'jboss-logging-3.1.3.GA.jar', который содержит регистратор по умолчанию для этой версии Hibernate. – Jagger

+0

Прошу прощения еще раз, вы попробовали? потому что я также использую 'Hibernate 4.3.6', и это сработало для меня. – Chaitanya

Смежные вопросы