diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java index 83f155823b..7b2fd85eb4 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java @@ -491,9 +491,15 @@ public abstract class DruidDataAbstractSource implements DataSource, DataSourceP } @Override - public PrintWriter getLogWriter() throws SQLException { + public PrintWriter getLogWriter() { return logWriter; } + + protected void printStackTrace(Throwable e) { + if (logWriter != null) { + e.printStackTrace(logWriter); + } + } @Override public void setLogWriter(PrintWriter out) throws SQLException { diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 43bf3e49cf..51a004eae4 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -487,7 +487,7 @@ public class DruidDataSource extends DruidDataAbstractSource implements DruidDat } catch (InterruptedException e) { break; } catch (SQLException e) { - e.printStackTrace(); + printStackTrace(e); } finally { lock.unlock(); } @@ -532,7 +532,7 @@ public class DruidDataSource extends DruidDataAbstractSource implements DruidDat try { connection.close(); } catch (SQLException e) { - e.printStackTrace(); // TODO + printStackTrace(e); } destroyCount++;