Досадно, что в некоторых случаях Hibernate, похоже, предпочитает записывать логи в сам log4j. Я не хочу этого. Я хотел бы, чтобы он генерировал исключение, когда что-то идет не так, как хорошая библиотека.
Кто-нибудь знает, возможно ли это, и что более важно, как мне это сделать?
Например, я получаю этот журнал уровня ОШИБКИ "Обнаружена тупиковая ситуация при попытке получить блокировку; попробуйте перезапустить транзакцию". Не было бы так плохо, если бы он хотя бы включал трассировку стека или, возможно, запрос, который привел к этой тупиковой ситуации. Но это не так, поэтому было сложно отладить некоторые из этих случаев.
Я просматривал dtd-файл hibernate mapping, xml-файл конфигурации hibernate и dtd-файл конфигурации hibernate, но мне не удалось найти способ контролировать ведение журнала.
Я вижу следующие строки в моем файле log4j.properties:
# Don't log Hibernate flushing exceptions (usually StaleStateExceptions)
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=FATAL
log4j.logger.org.hibernate.jdbc.AbstractBatcher=FATAL
Будет ли hibernate выдавать исключение, если я маркирую определенные вещи как "FATAL"?
Я немного заблудился в болоте Спящего, поэтому я был бы признателен за направление. В качестве контекста я работаю с Hibernate в течение 2 лет, но я ни в коем случае не эксперт в этом.