[
https://issues.apache.org/jira/browse/LOG4J2-862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14148996#comment-14148996
]
Remko Popma edited comment on LOG4J2-862 at 9/26/14 11:06 AM:
--------------------------------------------------------------
Surround the string with \{\{ and \}\}.
Hmm... Just looking at the LoaderUtil code, if a SecurityManager is set, and
RuntimePermission("getClassLoader") is not permitted, then internal flag
GET_CLASS_LOADER_DISABLED is set, and getThreadContextClassLoader() returns
LoaderUtil.class.getClassLoader().
The ThreadContextClassLoaderGetter you mentioned only comes into play if the
internal flag GET_CLASS_LOADER_DISABLED is false.
was (Author: [email protected]):
Surround the string with \{\{ and \}\}
> Misleading error message "Log4j2 could not find a logging implementation.
> Please add log4j-core to the classpath."
> ------------------------------------------------------------------------------------------------------------------
>
> Key: LOG4J2-862
> URL: https://issues.apache.org/jira/browse/LOG4J2-862
> Project: Log4j 2
> Issue Type: Bug
> Components: Configurators
> Affects Versions: 2.0.2
> Reporter: Michael Sutherland
>
> In the code out put I see
> "ERROR StatusLogger Log4j2 could not find a logging implementation. Please
> add log4j-core to the classpath. Using SimpleLogger to log to the console..."
> followed by "java.lang.ClassCastException:
> org.apache.logging.log4j.simple.SimpleLoggerContext cannot be cast to
> org.apache.logging.log4j.core.LoggerContext" which means core must be on the
> class path as otherwise you couldn't get that class cast execption. At which
> point the application using Log4j2 fails to start.
> The underlying problem is org.apache.logging.log4j.LogManager assuming if
> org.apache.logging.log4j.util.ProviderUtil returns false for hasProviders it
> is because core is not on the classpath. In practice I've found that
> hasProviders can return false because ProviderUtil is using a different
> Classloader than the rest of the application. It cannot find the
> "META-INF/log4j-provider.properties" resource but it is on the class path.
> I think there is a problem with the logic of how the classloaders are chosen
> but I don't understand what Log4j is trying to do here, however I am sure the
> error message is confusing and misleading
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]