diff --git c/xwiki-platform-core/xwiki-platform-oldcore/pom.xml i/xwiki-platform-core/xwiki-platform-oldcore/pom.xml
index 1cbaad1..f435bf3 100644
--- c/xwiki-platform-core/xwiki-platform-oldcore/pom.xml
+++ i/xwiki-platform-core/xwiki-platform-oldcore/pom.xml
@@ -581,6 +581,13 @@
${project.version}
+
+
+ ch.qos.logback
+ logback-classic
+ 1.0.0
+
+
@@ -638,7 +645,6 @@
${commons.version}
test
-
diff --git c/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/migration/hibernate/HibernateDataMigrationManager.java i/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/migration/hibernate/HibernateDataMigrationManager.java
index 6515849..d6a7ef9 100644
--- c/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/migration/hibernate/HibernateDataMigrationManager.java
+++ i/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/migration/hibernate/HibernateDataMigrationManager.java
@@ -29,6 +29,8 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Projections;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.xwiki.component.annotation.Component;
import org.xwiki.component.manager.ComponentLookupException;
@@ -42,6 +44,8 @@
import com.xpn.xwiki.store.migration.DataMigrationException;
import com.xpn.xwiki.store.migration.XWikiDBVersion;
+import ch.qos.logback.classic.Level;
+
/**
* Migration manager for hibernate store.
*
@@ -67,6 +71,45 @@ public XWikiHibernateBaseStore getStore() throws DataMigrationException
}
}
+ private class HibernateLoggingSuspender
+ {
+ private Level hibernateLogLevel;
+
+ /**
+ * Suspend hibernate logging.
+ */
+ private void suspendHibernateLogging()
+ {
+ Logger hibernateLogger = LoggerFactory.getLogger(org.hibernate.util.JDBCExceptionReporter.class);
+ if (hibernateLogger instanceof ch.qos.logback.classic.Logger)
+ {
+ ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) hibernateLogger;
+ hibernateLogLevel = logger.getLevel();
+ if (hibernateLogLevel == Level.OFF) {
+ hibernateLogLevel = null;
+ return;
+ }
+ logger.setLevel(Level.OFF);
+ }
+ }
+
+ /**
+ * Resume hibernate logging to its previous level.
+ */
+ private void resumeHibernateLogging()
+ {
+ if (hibernateLogLevel == null) {
+ return;
+ }
+
+ Logger hibernateLogger = LoggerFactory.getLogger(org.hibernate.util.JDBCExceptionReporter.class);
+ if (hibernateLogger instanceof ch.qos.logback.classic.Logger)
+ {
+ ((ch.qos.logback.classic.Logger) hibernateLogger).setLevel(hibernateLogLevel);
+ }
+ }
+ }
+
@Override
public XWikiDBVersion getDBVersionFromDatabase() throws DataMigrationException
{
@@ -83,6 +126,8 @@ public XWikiDBVersion getDBVersionFromDatabase() throws DataMigrationException
store.setSession(null, context);
store.setTransaction(null, context);
+ HibernateLoggingSuspender hibernateLoggingSuspender = new HibernateLoggingSuspender();
+ hibernateLoggingSuspender.suspendHibernateLogging();
try {
try {
ver = store.executeRead(context, true,
@@ -127,6 +172,7 @@ public XWikiDBVersion doInHibernate(Session session) throws HibernateException
getXWikiContext().getDatabase()), e);
}
finally {
+ hibernateLoggingSuspender.resumeHibernateLogging();
store.setSession(originalSession, context);
store.setTransaction(originalTransaction, context);
}