Как отключить большую часть вывода hbm2ddl в консоли Ant?
-
22-09-2019 - |
Вопрос
По умолчанию 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>
Для меня это работает!
Не связан с StackOverflow