Skip to content
Commit 1bb29a60 authored by Joern Huxhorn's avatar Joern Huxhorn
Browse files

Adding support for Throwable.getSuppressed().

See http://www.oracle.com/technetwork/articles/java/trywithresources-401775.html

- Removed superfluous public from methods in IThrowableProxy interface and added method IThrowableProxy[] getSuppressed().
- Serialized ThrowableProxyVO will be incompatible since suppressed has been added. Consequently, the respective serialVersionUID has been changed.
- ThrowableProxyVO.equals is now also checking suppressed.
- ThrowableProxy is now evaluating suppressed Throwables of its c'tor argument if the Throwable class has a getSuppressed() method, i.e. in case of Java SE 7 and upwards.

This patch is merely adding support of suppressed exceptions to the creation of LoggingEvent/IThrowableProxy. Further support should be added to the following classes:

- ch.qos.logback.classic.db.DBAppender
- ch.qos.logback.classic.html.DefaultThrowableRenderer
- ch.qos.logback.classic.net.SyslogAppender
- ch.qos.logback.classic.pattern.ThrowableProxyConverter
- ch.qos.logback.classic.spi.ThrowableProxyUtil
  - method asString
- ch.qos.logback.classic.spi.PackagingDataCalculator
  - method calculate(IThrowableProxy tp) may also need to take suppressed into account.
parent 02da05ef
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment