Hi Ceki,<div><br></div><div>Thanks for the response. Here's a trivial example:</div><div><br></div><div><div>  public class Main {</div><div>    public static void main( String[] args ) {</div><div>      org.slf4j.Logger logger = org.slf4j.LoggerFactory</div>
<div>          .getLogger( Main.class );</div><div>      </div><div>      Exception e1 = new CustomException( );</div><div>      e1.printStackTrace( System.out );</div><div>      <a href="http://logger.info">logger.info</a>( "", e1 );</div>
<div>      </div><div>      System.out.println( );</div><div>      </div><div>      Exception e2 = new CustomException( "Test message" );</div><div>      e2.printStackTrace( System.out );</div><div>      <a href="http://logger.info">logger.info</a>( "", e2 );</div>
<div>    }</div><div>    </div><div>    static class CustomException extends Exception {</div><div>      CustomException( ) {}</div><div>      CustomException( String message ) { super( message ); }</div><div>      </div>
<div>      @Override</div><div>      public String toString( ) {</div><div>        return super.toString( ) + " (from toString)";</div><div>      }</div><div>    }</div><div>  }</div><div><br></div><div>Running the above yields this output:</div>
<div><br></div><div><div>  com.example.logback.Main$CustomException (from toString)</div><div>    at com.example.logback.Main.main(Main.java:7)</div><div>  17:19:50.445 [main] INFO  com.example.logback.Main - </div><div>  com.example.logback.Main$CustomException: null</div>
<div>    at com.example.logback.Main.main(Main.java:7) ~[classes/:na]</div><div>  </div><div>  com.example.logback.Main$CustomException: Test message (from toString)</div><div>    at com.example.logback.Main.main(Main.java:13)</div>
<div>  17:19:50.451 [main] INFO  com.example.logback.Main - </div><div>  com.example.logback.Main$CustomException: Test message</div><div>    at com.example.logback.Main.main(Main.java:13) ~[classes/:na]</div></div><div><br>
</div><div>What do you think?</div><div><br></div><div>-Abraham</div><div><br></div><br><div class="gmail_quote">On Mon, Jul 16, 2012 at 5:02 PM, ceki <span dir="ltr"><<a href="mailto:ceki@qos.ch" target="_blank">ceki@qos.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Abraham,<br>
<br>
Can you provide an example of the difference?<br>
-- <br>
Ceki<br>
<a href="http://tinyurl.com/proLogback" target="_blank">http://tinyurl.com/proLogback</a><div><div class="h5"><br>
<br>
On 16.07.2012 22:32, Abraham Lin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
In comparing the outputs of Throwable#printStackTrace and logback, I<br>
found an inconsistency in how the Throwable instances are printed. While<br>
the former delegates to the Throwable instance's #toString method, the<br>
latter (partially) re-implements the default implementation in<br>
Throwable, which means that data contained in the #toString methods of<br>
Throwable subclasses is discarded. While this is easy to work around in<br>
my own code, there is still a problem when working with third-party<br>
libraries.<br>
<br>
Is there a configuration option that would allow me to specify my own<br>
IThrowableProxy implementation? (I couldn't find any pages describing<br>
the extension points and how to activate them.) Or would it be more<br>
appropriate to modify the ThrowableProxyUtil class so that it behaves<br>
similarly to #printStackTrace? Any ideas would be greatly appreciated.<br>
<br>
Thanks in advance!<br>
<br>
-Abraham<br>
</blockquote>
<br>
<br>
<br></div></div>
______________________________<u></u>_________________<br>
Logback-user mailing list<br>
<a href="mailto:Logback-user@qos.ch" target="_blank">Logback-user@qos.ch</a><br>
<a href="http://mailman.qos.ch/mailman/listinfo/logback-user" target="_blank">http://mailman.qos.ch/mailman/<u></u>listinfo/logback-user</a><br>
</blockquote></div><br></div>