[logback-user] Inconsistency in printing Throwable instances?
Abraham Lin
abraham.lin at post.harvard.edu
Mon Jul 16 23:56:03 CEST 2012
Hi Ceki,
Thanks for looking into this. I've created an issue in JIRA:
http://jira.qos.ch/browse/LOGBACK-722
-Abraham
On Mon, Jul 16, 2012 at 5:44 PM, ceki <ceki at qos.ch> wrote:
>
> I think this is a bug in ThrowableProxy. Could you please create a jira
> issue for this? Thank you.
>
>
> On 16.07.2012 23:24, Abraham Lin wrote:
>
>> Hi Ceki,
>>
>> Thanks for the response. Here's a trivial example:
>>
>> public class Main {
>> public static void main( String[] args ) {
>> org.slf4j.Logger logger = org.slf4j.LoggerFactory
>> .getLogger( Main.class );
>> Exception e1 = new CustomException( );
>> e1.printStackTrace( System.out );
>> logger.info <http://logger.info>( "", e1 );
>>
>> System.out.println( );
>> Exception e2 = new CustomException( "Test message" );
>> e2.printStackTrace( System.out );
>> logger.info <http://logger.info>( "", e2 );
>>
>> }
>> static class CustomException extends Exception {
>> CustomException( ) {}
>> CustomException( String message ) { super( message ); }
>> @Override
>> public String toString( ) {
>> return super.toString( ) + " (from toString)";
>> }
>> }
>> }
>>
>> Running the above yields this output:
>>
>> com.example.logback.Main$**CustomException (from toString)
>> at com.example.logback.Main.main(**Main.java:7)
>> 17:19:50.445 [main] INFO com.example.logback.Main -
>> com.example.logback.Main$**CustomException: null
>> at com.example.logback.Main.main(**Main.java:7) ~[classes/:na]
>> com.example.logback.Main$**CustomException: Test message (from
>> toString)
>> at com.example.logback.Main.main(**Main.java:13)
>> 17:19:50.451 [main] INFO com.example.logback.Main -
>> com.example.logback.Main$**CustomException: Test message
>> at com.example.logback.Main.main(**Main.java:13) ~[classes/:na]
>>
>> What do you think?
>>
>> -Abraham
>>
>>
>> On Mon, Jul 16, 2012 at 5:02 PM, ceki <ceki at qos.ch <mailto:ceki at qos.ch>>
>>
>> wrote:
>>
>> Hi Abraham,
>>
>> Can you provide an example of the difference?
>> --
>> Ceki
>> http://tinyurl.com/proLogback
>>
>>
>> On 16.07.2012 22:32, Abraham Lin wrote:
>>
>> Hi,
>>
>> In comparing the outputs of Throwable#printStackTrace and
>> logback, I
>> found an inconsistency in how the Throwable instances are
>> printed. While
>> the former delegates to the Throwable instance's #toString
>> method, the
>> latter (partially) re-implements the default implementation in
>> Throwable, which means that data contained in the #toString
>> methods of
>> Throwable subclasses is discarded. While this is easy to work
>> around in
>> my own code, there is still a problem when working with
>> third-party
>> libraries.
>>
>> Is there a configuration option that would allow me to specify
>> my own
>> IThrowableProxy implementation? (I couldn't find any pages
>> describing
>> the extension points and how to activate them.) Or would it be
>> more
>> appropriate to modify the ThrowableProxyUtil class so that it
>> behaves
>> similarly to #printStackTrace? Any ideas would be greatly
>> appreciated.
>>
>> Thanks in advance!
>>
>> -Abraham
>>
>>
>>
>>
>
> --
> Ceki
> http://tinyurl.com/proLogback
>
>
>
> ______________________________**_________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/**listinfo/logback-user<http://mailman.qos.ch/mailman/listinfo/logback-user>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20120716/4c511f97/attachment-0001.html>
More information about the Logback-user
mailing list