From 9088b8cf45138916c5d111f667573a371fa39c49 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 19 Mar 2012 15:56:29 +0100 Subject: [PATCH] improve logging --- .../scm/orientdb/ConnectionProvider.java | 52 ++++++++++++++++++- .../java/sonia/scm/orientdb/OrientDBUtil.java | 19 +++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/ConnectionProvider.java b/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/ConnectionProvider.java index 9f691e7356..f39517d3d6 100644 --- a/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/ConnectionProvider.java +++ b/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/ConnectionProvider.java @@ -43,12 +43,17 @@ import com.orientechnologies.orient.server.OServer; import com.orientechnologies.orient.server.OServerMain; import com.orientechnologies.orient.server.config.OServerConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sonia.scm.ConfigurationException; import sonia.scm.SCMContext; //~--- JDK imports ------------------------------------------------------------ +import java.io.Closeable; import java.io.File; +import java.io.IOException; import java.net.URL; @@ -61,7 +66,8 @@ import javax.xml.bind.JAXB; * @author Sebastian Sdorra */ @Singleton -public class ConnectionProvider implements Provider +public class ConnectionProvider + implements Provider, Closeable { /** Field description */ @@ -84,6 +90,12 @@ public class ConnectionProvider implements Provider public static final String PATH = "config".concat(File.separator).concat("orientdb.xml"); + /** + * the logger for ConnectionProvider + */ + private static final Logger logger = + LoggerFactory.getLogger(ConnectionProvider.class); + //~--- constructors --------------------------------------------------------- /** @@ -96,6 +108,11 @@ public class ConnectionProvider implements Provider if (file.exists()) { + if (logger.isInfoEnabled()) + { + logger.info("read database configuration from file {}", file); + } + init(JAXB.unmarshal(file, ConnectionConfiguration.class)); } else @@ -106,6 +123,13 @@ public class ConnectionProvider implements Provider // create connection configuration for embedded server File directory = new File(SCMContext.getContext().getBaseDirectory(), DEFAULT_DB_DIRECTORY); + + if (logger.isInfoEnabled()) + { + logger.info("create configuration for embedded database at {}", + directory); + } + OServer server = OServerMain.create(); URL configUrl = Resources.getResource(EMBEDDED_CONFIGURATION); String config = Resources.toString(configUrl, Charset.defaultCharset()); @@ -117,6 +141,11 @@ public class ConnectionProvider implements Provider if (!directory.exists()) { + if (logger.isInfoEnabled()) + { + logger.info("create new database at {}", directory); + } + ODatabaseDocumentTx connection = null; try @@ -152,6 +181,21 @@ public class ConnectionProvider implements Provider init(configuration); } + //~--- methods -------------------------------------------------------------- + + /** + * Method description + * + */ + @Override + public void close() + { + if (connectionPool != null) + { + connectionPool.close(); + } + } + //~--- get methods ---------------------------------------------------------- /** @@ -163,6 +207,12 @@ public class ConnectionProvider implements Provider @Override public ODatabaseDocumentTx get() { + if (logger.isTraceEnabled()) + { + logger.trace("acquire new connection for database {}", + configuration.getUrl()); + } + return connectionPool.acquire(configuration.getUrl(), configuration.getUsername(), configuration.getPassword()); diff --git a/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/OrientDBUtil.java b/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/OrientDBUtil.java index d5d9b1e8f1..9ca7887239 100644 --- a/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/OrientDBUtil.java +++ b/scm-dao-orientdb/src/main/java/sonia/scm/orientdb/OrientDBUtil.java @@ -40,6 +40,9 @@ import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx; import com.orientechnologies.orient.core.record.impl.ODocument; import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import sonia.scm.util.Util; //~--- JDK imports ------------------------------------------------------------ @@ -56,6 +59,12 @@ public class OrientDBUtil /** Field description */ public static final String FETCH_PLAN = "*:-1"; + /** + * the logger for OrientDBUtil + */ + private static final Logger logger = + LoggerFactory.getLogger(OrientDBUtil.class); + //~--- methods -------------------------------------------------------------- /** @@ -85,6 +94,11 @@ public class OrientDBUtil public static List executeListResultQuery( ODatabaseDocumentTx connection, String query, Object... parameters) { + if (logger.isTraceEnabled()) + { + logger.trace("execute list result query '{}'", query); + } + OSQLSynchQuery osqlQuery = new OSQLSynchQuery(query); osqlQuery.setFetchPlan(FETCH_PLAN); @@ -105,6 +119,11 @@ public class OrientDBUtil public static ODocument executeSingleResultQuery( ODatabaseDocumentTx connection, String query, Object... parameters) { + if (logger.isTraceEnabled()) + { + logger.trace("execute single result query '{}'", query); + } + ODocument result = null; OSQLSynchQuery osqlQuery = new OSQLSynchQuery(query);