[logback-dev] [JIRA] Commented: (LBCLASSIC-46) ThrowableInformation should keep the Throwable cause hierarchy intact.

Ceki Gulcu (JIRA) noreply-jira at qos.ch
Fri Feb 27 17:42:47 CET 2009


    [ http://jira.qos.ch/browse/LBCLASSIC-46?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11059#action_11059 ] 

Ceki Gulcu commented on LBCLASSIC-46:
-------------------------------------

The IThrowableProxy  interface is very close to your suggested structure. 
See revision 2174 at  http://svn.qos.ch/viewvc?view=rev&revision=2174

Note that ThrowableDataPoint class cannot be replaced by StackTraceElementProxy 
due to additional packaging information carried. 

The code still has a few warts which I intend to correct as we go along.


> ThrowableInformation should keep the Throwable cause hierarchy intact.
> ----------------------------------------------------------------------
>
>                 Key: LBCLASSIC-46
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-46
>             Project: logback-classic
>          Issue Type: Improvement
>          Components: Other
>    Affects Versions: unspecified
>         Environment: Operating System: All
> Platform: All
>            Reporter: Joern Huxhorn
>            Assignee: Logback dev list
>            Priority: Minor
>
> Instead of a String representation of the whole Throwable stack trace incl. cause ThrowableInformation should instead look like this:
> public class ThrowableInformation implements Serializable
> {
>   String throwableClassName;
>   String message;
>   StackTraceElement[] stackTrace;
>   ThrowableInformation cause;
> }
> I omitted get/set and private in this example.
> StackTraceElement is perfectly Serializable and did also receive a public c'tor in Java 5 so I guess that the current ThrowableInformation is more or less a relict of log4j which had to stay compatible with older Java versions.
> You could obviously keep the getThrowableStrRep() method for compatibility.
> This bug is somewhat related to LBCLASSIC-45 because I think that ThrowableInformation should also, as LoggingEvent, be just a dumb data container with no real logic.
> The logic to extract the relevant StackTraceElements should IMHO be moved either into Logger or into a static factory method of ThrowableInformation.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list