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?

Foi útil?

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
scroll top