Как отключить большую часть вывода hbm2ddl в консоли Ant?

StackOverflow https://stackoverflow.com/questions/2335583

Вопрос

По умолчанию hbm2ddl выдает массу вывода на консоль при выполнении задачи ant.Я бы хотел полностью отключить это и просто просмотреть файл схемы, если что-то пошло не так.Кто-нибудь знает, как это сделать?

Это было полезно?

Решение

Hibernate (по крайней мере, текущая версия) использует SLF4J для ведения журнала.Используйте NOP SLF4J для автоматического отмены всех журналов.В качестве альтернативы вы можете настроить низкий уровень детализации для вашей системы ведения журналов (например, log4j).

Пример log4j.properties:

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.rootLogger=warn, stdout
log4j.logger.org.hibernate=debug
log4j.logger.org.hibernate.tool.hbm2ddl=debug

Другие советы

Существует недокументированное свойство, которое должно быть определено в задаче:

<hibernatetool ....>

   <property key="scriptToConsole" value="false"/>

...

   <hbm2ddl ....../>

</hibernatetool>

Для меня это работает!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top