Come posso disattivare la maggior parte della produzione di hbm2ddl nella console in Formica?
-
22-09-2019 - |
Domanda
Per impostazione predefinita, hbm2ddl sputa una tonnellata di uscita per la console durante l'esecuzione del task ant. Mi piacerebbe trasformare questo completamente fuori e semplicemente guardare il file di schema, se qualcosa è andato storto. Qualcuno sa come fare?
Soluzione
Hibernate (almeno la versione corrente) utilizza SLF4J per la registrazione. Utilizzare lo SLF4J NOP per scartare silenziosamente tutta la registrazione. In alternativa si potrebbe configurare un livello di dettaglio basso livello per il vostro quadro di registrazione (ad esempio log4j ).
A campione 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
Altri suggerimenti
Non è di proprietà non documentata che dovrebbe essere definito nel compito:
<hibernatetool ....>
<property key="scriptToConsole" value="false"/>
...
<hbm2ddl ....../>
</hibernatetool>
Per me funziona!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow