You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2009/02/18 17:46:36 UTC

svn commit: r745569 - in /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp: AbandonedConfig.java AbandonedTrace.java

Author: markt
Date: Wed Feb 18 16:46:36 2009
New Revision: 745569

URL: http://svn.apache.org/viewvc?rev=745569&view=rev
Log:
Fix DBCP-4. This patch is a trade-off that provides developers an option to redirect the logging output without adding a new dependency on commons-logging or j.u.l.
App servers using DBCP will need to continue to use their existing mechanisms for redirecting stdout.

Modified:
    commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedConfig.java
    commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedTrace.java

Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedConfig.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedConfig.java?rev=745569&r1=745568&r2=745569&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedConfig.java (original)
+++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedConfig.java Wed Feb 18 16:46:36 2009
@@ -17,6 +17,8 @@
 
 package org.apache.commons.dbcp;
 
+import java.io.PrintWriter;
+
 /**
  * Configuration settings for handling abandoned db connections.
  *                                                            
@@ -130,4 +132,29 @@
         this.logAbandoned = logAbandoned;
     }
 
+    /**
+     * PrintWriter to use to log information on abandoned objects.
+     */
+    private PrintWriter logWriter = new PrintWriter(System.out);
+    
+    /**
+     * Returns the log writer being used by this configuration to log
+     * information on abandoned objects. If not set, a PrintWriter based on
+     * System.out is used.
+     *
+     * @return log writer in use
+     */
+    public PrintWriter getLogWriter() {
+        return logWriter;
+    }
+    
+    /**
+     * Sets the log writer to be used by this configuration to log
+     * information on abandoned objects.
+     * 
+     * @param logWriter The new log writer
+     */
+    public void setLogWriter(PrintWriter logWriter) {
+        this.logWriter = logWriter;
+    }
 }

Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedTrace.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedTrace.java?rev=745569&r1=745568&r2=745569&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedTrace.java (original)
+++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/AbandonedTrace.java Wed Feb 18 16:46:36 2009
@@ -188,9 +188,9 @@
      * created this object.
      */
     public void printStackTrace() {
-        if (createdBy != null) {
-            System.out.println(format.format(new Date(createdTime)));
-            createdBy.printStackTrace(System.out);
+        if (createdBy != null && config != null) {
+            config.getLogWriter().println(format.format(new Date(createdTime)));
+            createdBy.printStackTrace(config.getLogWriter());
         }
         synchronized(this.trace) {
             Iterator it = this.trace.iterator();