Package ch.qos.logback.classic.pattern

## Class EnsureExceptionHandling

- java.lang.Object
- - ch.qos.logback.classic.pattern.EnsureExceptionHandling

All Implemented Interfaces:
  `PostCompileProcessor<ILoggingEvent>`

    public class EnsureExceptionHandling
    extends java.lang.Object
    implements PostCompileProcessor<ILoggingEvent>

### Constructor Summary

Constructors
`EnsureExceptionHandling()`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `chainHandlesThrowable​(Converter<ILoggingEvent> head)` This method computes whether a chain of converters handles exceptions or not.
`void` `process​(Context context, Converter<ILoggingEvent> head)` This implementation checks if any of the converters in the chain handles exceptions.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### EnsureExceptionHandling

    public EnsureExceptionHandling()

### Method Detail

#### process

    public void process​(Context context,
                        Converter<ILoggingEvent> head)

This implementation checks if any of the converters in the chain handles exceptions. If not, then this method adds a `ExtendedThrowableProxyConverter` instance to the end of the chain.

This allows appenders using this layout to output exception information event if the user forgets to add %ex to the pattern. Note that the appenders defined in the Core package are not aware of exceptions nor LoggingEvents.

If for some reason the user wishes to NOT print exceptions, then she can add %nopex to the pattern.

Specified by:
  `process` in interface `PostCompileProcessor<ILoggingEvent>`
  `head` - The first converter in the chain

#### chainHandlesThrowable

    public boolean chainHandlesThrowable​(Converter<ILoggingEvent> head)

This method computes whether a chain of converters handles exceptions or not.

Parameters:
  `head` - The first element of the chain
Returns:
  true if can handle throwables contained in logging events