[
https://issues.apache.org/jira/browse/LOG4J2-2750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17011539#comment-17011539
]
Mikhail Talisov commented on LOG4J2-2750:
-----------------------------------------
If ExtendedThrowablePatternConverter far exceeds performance of the standard
ThrowablePatternConverter then we can modify ThrowablePatternConverter.format
method to use the same logic as in ExtendedThrowablePatternConverter (without
Throwable.printStackTrace). For that we need to use ThrowableProxy for
%throwable (and %rThrowable) pattern also, but this can be different
ThrowableProxy implementation (need to change ThrowableProxy implementation or
create new proxy class). Also we should change Log4jLogEvent.getThrownProxy
method to initialize ThrowableProxy properly. For async loggers can be used the
same way I think.
> Setting to disable extended stack trace for layouts
> ---------------------------------------------------
>
> Key: LOG4J2-2750
> URL: https://issues.apache.org/jira/browse/LOG4J2-2750
> Project: Log4j 2
> Issue Type: Improvement
> Components: Layouts
> Reporter: Mikhail Talisov
> Priority: Major
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> By default almost all layouts use an extended stack trace output format
> (ExtendedStackTraceElement). Currently I can change the stack trace format in
> PatternLayout by specifiyng its template (%throwable, %xThrowable, etc). When
> specified %throwable then no class packaging information is included in
> output.
> But when I use for example JsonLayout or AsyncAppender with any layout then
> no way to exclude class packaging information from the stack trace (this mean
> class loading from classpath for all stack trace elements). For performance
> reason would be good to have a setting to disable extending the stack trace
> in layouts.
> It's possible to add new attribute "extendedStackTrace" (for example, which
> is true by default) in layout elements (except PatternLayout and some other
> layouts where no ThrowableProxyHelper#toExtendedStackTrace is using). When I
> set extendedStackTrace="false" then stack trace must be serialized without
> class loading for all stack trace elements. AsyncAppender must use refs
> appender layout's attribute.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)