Details
-
Improvement
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
None
-
None
Description
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.