Настройте протоколирование отладки JPA Hibernate программно - PullRequest
1 голос
/ 14 мая 2019

Когда мое приложение CLI запускается с определенным системным свойством, я активирую журналы отладки, такие как:

boolean verboseLogging = Boolean.getBoolean("verbose");
if (verboseLogging) {
   org.apache.log4j.Logger.getRootLogger().setLevel(Level.Debug);
}

Я использую устаревшую log4j v1.2.17

Тогда есть часть HibernateEntityManager v4.2.2.Final настроен с помощью JPA persistence.xml:

<persistence ...>
   <persistence-unit name="dt">
       <provider>org.hibernate.ejb.HibernatePersistence</provider>
       <class>...</class>
   </persistence-unit>
</persistence>

Точно так же я хотел бы установить регистраторы Hibernate на уровень отладки, а также активировать свойства Hibernate show_sql и hbm2ddl, когда этот флаг verboseLogging установленправда.Итак, у меня есть этот бит:

if (verboseLogging) {
   Logger.getLogger("org.hibernate").setLevel(Level.DEBUG);
   Logger.getLogger("org.hibernate.sql").setLevel(Level.DEBUG);
   Logger.getLogger("org.hibernate.type").setLevel(Level.DEBUG);
   Logger.getLogger("org.hibernate.tool.hbm2ddl").setLevel(Level.DEBUG);

   Map<String, Object> properties = new HashMap<>();
   properties.put("hibernate.show_sql", true);
   return Persistence.createEntityManagerFactory("dt", properties);
}
return Persistence.createEntityManagerFactory("dt");

Я так старался активировать журналы отладки Hibernate, но он не работает!

Чего мне не хватает?Это недостающая зависимость?Обратите внимание, что Hibernate фактически регистрирует следующее:

INFO  Version - HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
INFO  Version - HHH000412: Hibernate Core {4.2.2.Final}
INFO  Environment - HHH000206: hibernate.properties not found
INFO  Environment - HHH000021: Bytecode provider name : javassist
INFO  Dialect - HHH000400: Using dialect: org.hibernate.dialect.SybaseASE15Dialect
INFO  TransactionFactoryInitiator - HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
INFO  ASTQueryTranslatorFactory - HHH000397: Using ASTQueryTranslatorFactory
INFO  Version - Hibernate Validator 4.2.0.Final
WARN  TemplateRenderer - HHH000174: Function template anticipated 1 arguments, but 2 arguments encountered

Должен ли я беспокоиться о hibernate.properties not found?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...