You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Christopher Schultz (JIRA)" <ji...@apache.org> on 2009/11/17 22:13:39 UTC

[jira] Updated: (DBCP-305) Use API-specific exception for logging abandoned objects

     [ https://issues.apache.org/jira/browse/DBCP-305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Schultz updated DBCP-305:
-------------------------------------

    Attachment: DBCP-305.diff

Proposed patch to a) use an API-specific exception type and b) include the timestamp in the exception message

The result is that logged exceptions are (hopefully) easier to locate and read in log files.

I used a static inner class to simplify the patch, but you guys are free to split-apart the classes if you choose.

> 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
>         Attachments: DBCP-305.diff
>
>
> 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.