[
https://issues.apache.org/jira/browse/LOG4J2-3593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcono1234 resolved LOG4J2-3593.
---------------------------------
Fix Version/s: 2.21.0
Resolution: Fixed
Has been fixed by https://github.com/apache/logging-log4j2/pull/1760
> StackLocator Reflection.getCallerClass warning is misleading / incorrect
> ------------------------------------------------------------------------
>
> Key: LOG4J2-3593
> URL: https://issues.apache.org/jira/browse/LOG4J2-3593
> Project: Log4j 2
> Issue Type: Bug
> Affects Versions: 2.17.2
> Reporter: Marcono1234
> Priority: Major
> Fix For: 2.21.0
>
>
> When the pre-Java 9 {{StackLocator}} is used, but
> {{Reflection.getCallerClass}} is missing, the following warning is printed to
> console:
> {quote}
> WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will
> impact performance.
> {quote}
> This can for example occur when a JAR with dependencies is created but the
> Log4j Java 9 specific code is not included, or {{Multi-Release: true}} is not
> set in the manifest (see also LOG4J2-2834).
> The issue is that the warning is misleading or incorrect. It suggests that
> Log4j is still fully functional, but as seen with LOG4J2-2834, certain
> functionality breaks (such as {{LogManager.getLogger()}}).
> So maybe the underlying issue here is that the warning is correct, but there
> is a bug in {{StackLocator}} and it should actually fall back to using {{new
> Throwable().getStackTrace()}} instead of returning {{null}}?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)