[ https://issues.apache.org/jira/browse/LOG4J2-3177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17433567#comment-17433567 ]
Richard Eckart de Castilho commented on LOG4J2-3177: ---------------------------------------------------- Beats me. I imported the repo into Eclipse and it doesn't built (as said above). !Screenshot 2021-10-25 at 07.39.17.png! I imported it into IntelliJ (which I normally do not use). I did so by opening the repo folder in IntelliJ and importing the project as a Maven project. Then I went to the {{LoggerTest}} class and tried running the {{debugWithParams}} test method. Then I am greeted with lots of errors as well: {noformat} Executing pre-compile tasks... Loading Ant configuration... Running Ant tasks... Running 'before' tasks Checking sources Copying resources... [log4j-to-slf4j] Copying resources... [log4j-slf4j-impl] Copying resources... [log4j-plugins] Copying resources... [log4j-core] Copying resources... [log4j-api] Cannot build maven-annotations-production:log4j-api because it is included into a circular dependency (module 'log4j-api' production, maven-annotations-production:log4j-api, module 'log4j-plugins' production, maven-annotations-production:log4j-plugins) Parsing java... [log4j-to-slf4j] Checking dependencies... [log4j-to-slf4j] Dependency analysis found 0 affected files Errors occurred while compiling module 'log4j-to-slf4j' javac 14.0.1 was used to compile java sources Finished, saving caches... Compilation failed: errors: 79; warnings: 0 Executing post-compile tasks... Loading Ant configuration... Running Ant tasks... Synchronizing output directories... 25.10.21, 07:31 - Build completed with 80 errors and 0 warnings in 11 sec, 399 ms {noformat} !Screenshot 2021-10-25 at 07.36.19.png! > Log4jLogger swallows stack trace if throwable is only present in parameter > list and not given explicitly > -------------------------------------------------------------------------------------------------------- > > Key: LOG4J2-3177 > URL: https://issues.apache.org/jira/browse/LOG4J2-3177 > Project: Log4j 2 > Issue Type: Bug > Components: SLF4J Bridge > Affects Versions: 2.14.1 > Reporter: Richard Eckart de Castilho > Priority: Major > Attachments: Screenshot 2021-10-25 at 07.36.19.png, Screenshot > 2021-10-25 at 07.39.17.png > > > I have the feeling that this code below from the Log4jLogger class has a bug. > I believe the intention of the code is to use the throwable extracted from > the message params of the parametrized message if the {{throwable}} parameter > was not explicitly provided to the method. But to accomplish this, the > condition would need to be {{if (throwable == null)}} in the code snippet > below. This seems to cause exception stack traces to be swallowed if the > throwable is only provided in the params array but not explicitly in the > {{throwable}} argument. > {code} > public void log(final Marker marker, final String fqcn, final int level, > final String message, final Object[] params, Throwable throwable) { > ... > msg = new ParameterizedMessage(message, params, throwable); > if (throwable != null) { // I am pretty sure the idea was to use a "==" > here and not a "!=" > throwable = msg.getThrowable(); > } > ... > } > {code} > Source (permalink master at reporting time): > https://github.com/apache/logging-log4j2/blob/1a62186816bdd05ba420e01f6ee5a2b139a41816/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java#L371-L374 > Source (latest master): > https://github.com/apache/logging-log4j2/blob/master/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java#L371-L374 > I hit the issue in Log4J 2.10.0 but checking the GitHub repo, it appears that > this code is still present on the current master branch (see permalink above). -- This message was sent by Atlassian Jira (v8.3.4#803005)