Я уже установил
<property name="show_sql">false</property>
и я отключил все сообщения в log4j.properties
Но Hibernate записывает на консоль со всеми запросами и утверждениями.
Я уже установил
<property name="show_sql">false</property>
и я отключил все сообщения в log4j.properties
Но Hibernate записывает на консоль со всеми запросами и утверждениями.
Установка hibernate.show_sql
в true
указывает hibernate на запись всех операторов SQL в консоль. Это альтернатива настройке категории журнала org.hibernate.SQL
для отладки.
Таким образом, даже если вы установите для этого свойства значение false
, убедитесь, что у вас нет определенной категории (или настроено для использования консольного приложения):
log4j.logger.org.hibernate.SQL=DEBUG
Кроме того, убедитесь, что вы не устанавливаете hibernate.show_sql
программно в true, когда вы создаете объект Configuration
. Охотите что-то вроде этого:
Configuration cfg = new Configuration().configure().
.setProperty("hibernate.show_sql", "true");
Обратите внимание, что setProperty(String propertyName, String value)
принимает в качестве первого параметра полное имя свойства конфигурации i.e. hibernate.show_sql
, а не только show_sql
.
HI, я понял, что вы можете решить это также с помощью этих двух строк в файле log4j.properties.
log4j.logger.org.hibernate = WARN
log4j.logger.org.hibernate = ERROR
Вы добавляете что-то подобное в log4j.properties?
log4j.logger.org.hibernate = WARN
Кажется очень странным, но когда вы используете Eclipse с задачей JUnit Test, все выходные данные все равно идут в Console (в окне консоли Eclipse).
Но когда я использую команду ant для модульного тестирования, ничего не происходит в консоли.
Как уже упоминалось ранее, сначала нужно установить hibernate.show_sql
в false
. Это предотвратит вывод hibernate в консоль или в журнал Tomdat stdout.
Но для того, чтобы направить ваш SQL-вывод на другой журнал, используйте этот код в файле log4j.xml:
<logger name="org.hibernate.SQL" additivity="false">
<level value="DEBUG" />
<appender-ref ref="hibernate"/>
</logger>
Чтобы сохранить обычный уровень журнала гибернации (WARN/ERROR) в консоли, используйте этот код в файле log4j.xml:
<category name="org.hibernate">
<priority value="WARN" />
</category>
Простая ссылка Just Add для вашего файла pom.xml
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
И он отключит ведение журнала и добавит в файл src/main/resources/log4j.properties файл
log4j.rootLogger=OFF
Затем вы можете использовать его в любое время, если хотите отобразить журнал на консоли, а затем на нем, или выкл