[ https://issues.apache.org/jira/browse/LOG4J2-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15897343#comment-15897343 ]
ASF GitHub Bot commented on LOG4J2-1838: ---------------------------------------- Github user xnslong commented on the issue: https://github.com/apache/logging-log4j2/pull/61 @jvz Thanks for your opinion. You asked `why it is not implemented by creating another PatternConverter`. We know there already exists 3 `PatternConverter`s that can render the throwable stack trace, respectively handling the `%Ex`, `%xEx` and `%rEx` patterns. These `PatternConverter`s will render the stack trace with a lot of controls, such as controlling the line number, ignoring certain packages, limiting the columns, adding package and jar information, and many more. If this PR is implemented by creating another `PatternConverter` just like what the previously mentioned `PatternConverter`s do (suppose the corresponding handled pattern is `%sEx`), then if a user wish to use the suffix functionality provided by this code, he must use the `%sEx` pattern instead of pattern `%xEx` or `%rEx`, thus he cannot enjoy the benefit provided by the existing `PatternConverter`s. This will be a little troublesome. So I finally choose to extend the function of the existing `PatternConverter`s by adding certain option support. Another thing you said is that something here looks like the `VariablesNotEmptyPatternConverter`. I checked the code, they really resemble each other very much, and this is just what I wish. My primary thought is to add MDC information as the suffix to each line of the entire stack trace. But then I found it is too limited. So I made the option to be configurable with existing patterns, and this is just what the `VariablesNotEmptyPatternConverter` converter wants. > Add support for appending common suffix to each line of throwable stack trace > ----------------------------------------------------------------------------- > > Key: LOG4J2-1838 > URL: https://issues.apache.org/jira/browse/LOG4J2-1838 > Project: Log4j 2 > Issue Type: New Feature > Components: Pattern Converters > Affects Versions: 2.8.1 > Reporter: Zilong Song > Labels: features > Fix For: 2.8.2 > > > Add support for appending common suffix to each line of throwable stack > trace. The suffix can be configured by patterns just like patterns used > elsewhere. > For example, pattern {{%xEx{suffix(- %mdc{key})}}} will > append a string generated by pattern {{- }} and {{%mdc{key}}}. > But patterns that handles throwable will be automatically ignored, because > they will make the rendered result confusing. So pattern {{%xEx{suffix(- > %rEx%mdc{key})}}} has the same effect with > {{%xEx{suffix(- %mdc{key})}}}, as if the nested {{%rEx}} > pattern has never appeared. > Following is an example of the with such suffix: > {code:title=stack trace, with pattern "%xEx{suffix(- > %mdc{key})}" and MDC(key)="test mdc suffix"|borderStyle=solid} > java.lang.IllegalArgumentException: IllegalArgument - test mdc suffix > at > org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverterTest.testSuffixFromNormalPattern(ExtendedThrowablePatternConverterTest.java:48) > [test-classes/:?] - test mdc suffix > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:1.8.0_91] - test mdc suffix > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:1.8.0_91] - test mdc suffix > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_91] - > test mdc suffix > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) > [idea_rt.jar:?] - test mdc suffix > Caused by: java.lang.NullPointerException: null pointer - test mdc suffix > at > org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverterTest.testSuffixFromNormalPattern(ExtendedThrowablePatternConverterTest.java:47) > ~[test-classes/:?] - test mdc suffix > ... 27 more - test mdc suffix > }} > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org