Я новичок, когда дело доходит до весны, поэтому это может быть что-то просто, я уже смотрю, но я пытался часами безрезультатно. У меня есть интегрированный и работающий с весной и спящим режимом, я хочу записать запросы в файл, чтобы я мог их изучить. Я использую log4j для ведения журнала, но проблема в том, что я не могу заставить спящий режим писать в файл и надеялся получить некоторое разъяснение.Spring Hibernate show_sql не работает
Вот SessionFactory боб в ApplicationContext
конфигурации<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<property name="packagesToScan" value="com.example"/>
</bean>
Log4j
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.home}/logs/my-log-file.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="20MB" />
<param name="MaxBackupIndex" value="2" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %c | %msg %n" />
</layout>
</appender>
<appender name="hibernate-rolling" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.home}/logs/hib-example-file.log" />
<param name="Append" value="true" />
<param name="ImmediateFlush" value="true" />
<param name="MaxFileSize" value="20MB" />
<param name="MaxBackupIndex" value="2" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %c | %msg %n"/>
</layout>
</appender>
<logger name="org.hibernate.SQL" additivity="false">
<level value="debug" />
<appender-ref ref="hibernate-rolling" />
</logger>
<root>
<priority value="INFO"></priority>
<appender-ref ref="FILE" />
</root>
</log4j:configuration>
Любая помощь очень ценится?
EDIT:
Я попытался лесорубов, которые были предоставлены в этом link но не вызывают запросы, которые будут записаны в файл.
Измените свой уровень на ВСЕ вместо отладки. –
Я также попытался добавить все эти регистраторы, а также изменил уровень и все равно никаких изменений. Если я изменил регистратор на org.hibernate и уровень для его отладки, он будет записывать в файл журнала, но это 2000+ строк, а не один из них - это запрос, который используется для извлечения нужного мне объекта. – Chris
org.hibernate.SQL работает для меня, чтобы показать все запросы, когда у меня установлен уровень ALL. Глупый вопрос, но смотрите ли вы на нужный файл для своего вывода (hib-example-file.log) и перезапустили ли вы приложение после изменения конфигурации? –