Use API-specific exception for logging abandoned objects
--------------------------------------------------------

                 Key: DBCP-305
                 URL: https://issues.apache.org/jira/browse/DBCP-305
             Project: Commons Dbcp
          Issue Type: Improvement
            Reporter: Christopher Schultz
            Priority: Trivial


When a DBCP-managed object (Connection, Statement, etc.) is considered 
"abandoned", a stack trace is emitted to stdout. Unfortunately, the stack trace 
is for a simple java.lang.Exception (created in AbandonedTrace.init and 
AbandonedTrace.setStackTrace) with no message.

When scanning log files for exceptions, say, like this:

grep "Exception" my_logfile.log, I simply shows:

java.lang.Exception
java.lang.Exception
java.lang.Exception
...

It would be nice to use a more descriptive exception (for instance, 
AbandonedObjectException) and/or add a descriptive message to the exception 
upon creation.

For example, it would be useful to execute the above command and see:

org.apache.commons.dbcp.AbandonedObjectException: DBCP object created 
2009-11-05 10:15:00 by the following code was never closed

Having the timestamp and a definite identification of the exception (i.e. the 
class name) on the same line of log output is preferable IMO.

Implementation should be trivial; I'd be happy to submit a patch. Also, the 
format of the logging information isn't part of the API itself, so it shouldn't 
be a big deal to change it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to