Как получить параметры привязки JDBC из Hibernate в JBoss 7?

Я пытаюсь просто получить значения, которые Hibernate связывает с запросами за вопросительными знаками "?" на JBoss 7.

Итак, я редактирую standalone/configuration/logging.properties, чтобы добавить это:

logger.org.hibernate=DEBUG
logger.org.hibernate.type=ALL

Но я ничего не получаю в своей консоли, ни в файле журнала... что мне не хватает?

Ответ 1

Ничего себе, это не очень похоже на предыдущие версии... Я наконец нашел официальный способ настройки ведения журнала JBoss 7 и регистрация конфигурации Hibernate 4!

Что вам нужно сделать, это отредактировать standalone/configuration/standalone.xml (файл конфигурации вашего domain) и найти тег <subsystem xmlns="urn:jboss:domain:logging:1.1">.

Затем в <console-handler name="CONSOLE" я переключил информацию уровня на TRACE (<level name="TRACE") и добавил <logger category="org.hibernate">.

Вот частичный XML:

<subsystem xmlns="urn:jboss:domain:logging:1.1">
    <console-handler name="CONSOLE" autoflush="true">
        <level name="TRACE"/>
        <formatter>
            <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
        </formatter>
    </console-handler>
    ...
    <logger category="org.hibernate.type.descriptor.sql.BasicBinder">
        <level name="TRACE"/>
    </logger>
    ...

Я нашел другое и лучшее (потому что он регистрирует все вызовы метода JDBC, а не только базовое связывание) из сообщение в блоге: добавьте spy="true" в объявление <datasource> и TRACE журналы из категории jboss.jdbc.spy:

<datasource jta="true" jndi-name="java:jboss/datasources/myDS" pool-name="myPool" enabled="true" use-java-context="true" spy="true" use-ccm="true">

и регистратор (в <subsystem xmlns="urn:jboss:domain:logging:1.1">):

<logger category="jboss.jdbc.spy">
    <level name="TRACE"/>
</logger>