Я настроил Hibernate для использования библиотеки журналов входа в систему.И создал appender, который перехватывает данные журналов из регистраторов org.hibernate.SQL и org.hibernate.type.По умолчанию они установлены на уровень INFO.
В качестве следующего шага я пытаюсь изменить уровень этих 2-х регистраторов до уровня DEBUG, используя JMX-интерфейс logback.Но это не работает и файл журнала не содержит данных.Только если я установлю уровень ведения журнала на DEBUG в файле конфигурации, а затем перезапущу сервер, он будет работать.
Должен ли я сделать что-нибудь дополнительное для того, чтобы Hibernate начал регистрировать?
Вот конфигурация appender / logger:
<configuration debug="false" scan="true" scanPeriod="5 minutes">
<jmxConfigurator />
...
<property name="SQL_LOG_LEVEL" value="DEBUG" />
<appender name="SQL_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIRECTORY}/sql_${weblogic.Name}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${ROTATION_DIRECTORY}/sql_${weblogic.Name}.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>5</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="org.hibernate.SQL" level="${SQL_LOG_LEVEL}" additivity="false">
<appender-ref ref="SQL_LOG" />
</logger>
<logger name="org.hibernate.type" level="${SQL_LOG_LEVEL}" additivity="false">
<appender-ref ref="SQL_LOG" />
</logger>
...
</configuration>
EDIT : У меня есть несколько файлов приложений (EAR), развернутых в одном контейнере.Все приложения используют одинаковую конфигурацию регистрации.