Search code examples
javahibernateantbuild-processhbm2ddl

How can I turn off the majority of hbm2ddl's output in the console in Ant?


By default, hbm2ddl spits a ton of output to the console when executing the ant task. I'd like to turn this completely off and simply look at the schema file if something has gone wrong. Anyone know how to do that?


Solution

  • Hibernate (at least the current version) uses SLF4J for logging. Use the SLF4J NOP to silently discarding all logging. Alternatively you could configure a low level verbosity for your logging framework (e.g. log4j).

    A sample 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