Po Chun Yu

Results 10 comments of Po Chun Yu

Changes are based on the feedback in https://github.com/apache/logging-log4j2/pull/1137. However, as you might notice, there are similar methods in `ThrowablePatternConverter` and `Throwableproxyrenderer`, because of the package filtering added for `%ex` Please...

Also I want to add more tests to cover the changes, but my Intellij IDEA shows below when I tried to run `testException` in `ThrowableTest`. ``` org.junit.jupiter.api.extension.ParameterResolutionException: No appender named...

Also add tests to cover the changes, please review when you have time.

Just checked it's because before the PR, `ThrowablePatternRender#formatOption` serialize excpetion using [Throwable#printStackTrace](https://github.com/apache/logging-log4j2/blob/400c65bdbe82f50fcef3dac1bd7130a8a2d3197a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java#L193). But in the new implementation, I get the exception info using `Throwable.getStackTrace` and serialize using `appendEntry`, whose implementation...

@vy Actually `%rEx` and `%xEx` both operate on a `ThrowableProxy` in existing implementation. So only `%ex` needs to rely on `Throwable#printStackTrace()`. However, the output of `Throwable#printStackTrace()` looks like below: ```...

@vy Thanks for your feedback! Actually I am happy we have this careful reveiw process, so that we have high standard codes. Back to the topic, I also agree that...

@vy Just want to make sure we are on the same page. So for `xxxThrowablePatternConverter#format()`, the existing implementation is that when `event.getThrownProxy()` is `null`, it calls its parent `ThrowablePatternConverter#format()`. And...

It seems to me this PR is more complicated then I thought and is more like refactoring now. But I will try my best to understand it. I don't have...

@ppkarwasz @vy Maybe I am dumb, AFAIK, the loadclass happens in creating context phase, but `ignoredPackages` is used in rendering phase. And this OOM happens in creating context phase, so...