1. Define a Marker
public static final Marker EXCEPTION_MESSAGE =
MarkerManager.getMarker(“EXCEPTION_MESSAGE”);
2. Use the Marker
logger.info(EXCEPTION_MESSAGE, execution);
3. Use the MarkerPatternSelector
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout>
<MarkerPatternSelector defaultPattern="[%-5level] %msg%n">
<PatternMatch key=“EXCEPTION_MESSAGE" pattern="[%-5level] - %msg
%throwable{short.message}%n"/>
</MarkerPatternSelector>
</PatternLayout>
</Console>
Ralph
> On Aug 12, 2018, at 8:47 AM, Gary Gregory <[email protected]> wrote:
>
> Hi All:
>
> In our server, there are certain kinds of exceptions that are caught that I
> want processed in a special manner. One example of this is for various
> kinds of time outs that surface as exceptions. Sometimes comms time out,
> requests may be resubmitted, and in general all is well.
>
> For day-to-day logging, I only want to show the _message_ of exception as
> an informative log event (INFO). I do not want to log the stack trace in
> this mode, as this alarms users to no end.
>
> When I am in trouble shooting mode, I do want to see the exception's stack
> trace logged, say, at the DEBUG (or TRACE) level.
>
> Currently, I have some selective call sites with ugly logic to handle this
> kind of logging. The simplest way to handle this is with some double
> logging:
>
> logger.info("foo: {}}, exception.toString());
> logger.debug(exception);
>
> This is obviously ugly and a pain to maintain.
>
> Can you all think of how this could be addressed, either at the API site or
> at the _pattern_ definition site? Maybe with a new option in the pattern?
>
> Gary