Repository: logging-log4j2 Updated Branches: refs/heads/master e40e73e5d -> 8f53bd9cf
Better internal logging. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8f53bd9c Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8f53bd9c Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8f53bd9c Branch: refs/heads/master Commit: 8f53bd9cfccc23951ed97e9d7e08bfb5292375c0 Parents: e40e73e Author: Gary Gregory <garydgreg...@gmail.com> Authored: Thu Jan 25 13:00:18 2018 -0700 Committer: Gary Gregory <garydgreg...@gmail.com> Committed: Thu Jan 25 13:00:18 2018 -0700 ---------------------------------------------------------------------- .../jdbc/AbstractDriverManagerConnectionSource.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8f53bd9c/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractDriverManagerConnectionSource.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractDriverManagerConnectionSource.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractDriverManagerConnectionSource.java index 717ce65..77c4391 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractDriverManagerConnectionSource.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractDriverManagerConnectionSource.java @@ -141,19 +141,24 @@ public class AbstractDriverManagerConnectionSource extends AbstractConnectionSou return actualConnectionString; } + @SuppressWarnings("resource") // The JDBC Connection is freed when the connection source is stopped. @Override public Connection getConnection() throws SQLException { loadDriver(); - // No, you cannot see the user name and password. final String actualConnectionString = getActualConnectionString(); - LOGGER.debug("Getting connection from DriverManage for '{}'", actualConnectionString); + LOGGER.debug("{} getting connection for '{}'", getClass().getSimpleName(), actualConnectionString); + Connection connection; if (properties != null && properties.length > 0) { if (userName != null || password != null) { throw new SQLException("Either set the userName and password, or set the Properties, but not both."); } - return DriverManager.getConnection(actualConnectionString, toProperties(properties)); + connection = DriverManager.getConnection(actualConnectionString, toProperties(properties)); + } else { + connection = DriverManager.getConnection(actualConnectionString, toString(userName), toString(password)); } - return DriverManager.getConnection(actualConnectionString, toString(userName), toString(password)); + LOGGER.debug("{} acquired connection for '{}': {} ({}@{})", getClass().getSimpleName(), actualConnectionString, + connection, connection.getClass().getName(), Integer.toHexString(connection.hashCode())); + return connection; } public String getConnectionString() { @@ -191,6 +196,7 @@ public class AbstractDriverManagerConnectionSource extends AbstractConnectionSou protected void loadDriver(final String className) throws SQLException { if (className != null) { // Hack for old JDBC drivers. + LOGGER.debug("Loading driver class {}", className); try { Class.forName(className); } catch (final Exception e) {