diff --git a/src/main/java/com/alibaba/druid/util/JdbcConstants.java b/src/main/java/com/alibaba/druid/util/JdbcConstants.java index f203e65ce2..0feecaad52 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcConstants.java +++ b/src/main/java/com/alibaba/druid/util/JdbcConstants.java @@ -59,4 +59,10 @@ public interface JdbcConstants { * 阿里云odps */ public static final String ODPS = "odps"; + + /** + * Log4JDBC + */ + public static final String LOG4JDBC = "log4jdbc"; + public static final String LOG4JDBC_DRIVER = "net.sf.log4jdbc.DriverSpy"; } diff --git a/src/main/java/com/alibaba/druid/util/JdbcUtils.java b/src/main/java/com/alibaba/druid/util/JdbcUtils.java index 4521d3f5e0..c5fad63161 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcUtils.java +++ b/src/main/java/com/alibaba/druid/util/JdbcUtils.java @@ -15,32 +15,17 @@ */ package com.alibaba.druid.util; +import com.alibaba.druid.support.logging.Log; +import com.alibaba.druid.support.logging.LogFactory; + +import javax.sql.DataSource; import java.io.Closeable; import java.io.InputStream; import java.io.PrintStream; import java.net.URL; -import java.sql.Connection; +import java.sql.*; import java.sql.Date; -import java.sql.Driver; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.ResultSetMetaData; -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Types; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Enumeration; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import javax.sql.DataSource; - -import com.alibaba.druid.support.logging.Log; -import com.alibaba.druid.support.logging.LogFactory; +import java.util.*; /** * @author wenshao @@ -351,6 +336,8 @@ public final class JdbcUtils implements JdbcConstants { return "org.apache.derby.jdbc.EmbeddedDriver"; } else if (rawUrl.startsWith("jdbc:mysql:")) { return MYSQL_DRIVER; + } else if (rawUrl.startsWith("jdbc:log4jdbc:")) { + return LOG4JDBC_DRIVER; } else if (rawUrl.startsWith("jdbc:mariadb:")) { return MARIADB_DRIVER; } else if (rawUrl.startsWith("jdbc:oracle:") // @@ -421,6 +408,8 @@ public final class JdbcUtils implements JdbcConstants { return DERBY; } else if (rawUrl.startsWith("jdbc:mysql:")) { return MYSQL; + } else if (rawUrl.startsWith("jdbc:log4jdbc:")) { + return LOG4JDBC; } else if (rawUrl.startsWith("jdbc:mariadb:")) { return MARIADB; } else if (rawUrl.startsWith("jdbc:oracle:")) { diff --git a/src/main/resources/META-INF/druid-driver.properties b/src/main/resources/META-INF/druid-driver.properties index 95f94a1c44..9b1fcc926c 100644 --- a/src/main/resources/META-INF/druid-driver.properties +++ b/src/main/resources/META-INF/druid-driver.properties @@ -1,6 +1,7 @@ jdbc:derby:=org.apache.derby.jdbc.EmbeddedDriver -jdbc:mysql:=com.mysql.jdbc.Driver -jdbc:oracle:=oracle.jdbc.driver.OracleDriver +jdbc:mysql:=com.mysql.jdbc.Driver +jdbc:log4jdbc:=net.sf.log4jdbc.DriverSpy +jdbc:oracle:=oracle.jdbc.driver.OracleDriver jdbc:microsoft:=com.microsoft.jdbc.sqlserver.SQLServerDriver jdbc:jtds:=net.sourceforge.jtds.jdbc.Driver jdbc:postgresql:=org.postgresql.Driver