Como posso desligar a maioria da saída do HBM2DDL no console em Ant?
-
22-09-2019 - |
Pergunta
Por padrão, o HBM2DDL cospe uma tonelada de saída no console ao executar a tarefa ANT. Eu gostaria de desligar isso completamente e simplesmente olhar para o arquivo de esquema se algo deu errado. Alguém sabe como fazer isso?
Solução
Hibernate (pelo menos a versão atual) usa Slf4j para log. Use o SLF4J NOP para descartar silenciosamente todo o log. Como alternativa, você pode configurar uma verbosidade de baixo nível para sua estrutura de registro (por exemplo log4j).
Um exemplo de 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
Outras dicas
Há propriedade não documentada que deve ser definida na tarefa:
<hibernatetool ....>
<property key="scriptToConsole" value="false"/>
...
<hbm2ddl ....../>
</hibernatetool>
Para mim, funciona!
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow