Как я могу отключить большую часть вывода hbm2ddl в консоли в Ant? - PullRequest
0 голосов
/ 25 февраля 2010

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

Ответы [ 2 ]

4 голосов
/ 25 февраля 2010

Hibernate (по крайней мере, текущая версия) использует SLF4J для ведения журнала. Используйте SLF4J NOP, чтобы молча отбросить все записи. В качестве альтернативы вы можете настроить низкоуровневое многословие для своей структуры ведения журнала (например, 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
2 голосов
/ 13 мая 2011

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

<hibernatetool ....>

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

...

   <hbm2ddl ....../>

</hibernatetool>

У меня это работает!

...