[ 
https://issues.apache.org/jira/browse/LOG4J2-1637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15628828#comment-15628828
 ] 

Remko Popma commented on LOG4J2-1637:
-------------------------------------

One way to solve the ThreadContextAccess problem is to change the visibility of 
{{ThreadContext::getThreadContextMap}} from package-protected to public. Then 
the ThreadContextAccess class is no longer needed and ContextInjectors can 
simply call the public method to query the ThreadContextMap implementation.

If this is not acceptable then we need some other way to let classes in 
log4j-core (like ContextInjectors) access the ThreadContextMap implementation 
that does not cause problems with OSGi.

By the way, would the ThreadContextAccess problem be resolved if we can somehow 
ensure that the log4j-core MANIFEST.MF Export-Package section includes this?
{code}
org.apache.logging.log4j.core.impl;uses:="org.apache.logging.log4j";
{code}
or 
{code}
org.apache.logging.log4j;uses:="org.apache.logging.log4j";
{code}

> OSGi support is broken in Log4j2 2.7
> ------------------------------------
>
>                 Key: LOG4J2-1637
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1637
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.7
>         Environment: Apache Felix, Java 8
>            Reporter: Ludovic HOCHET
>         Attachments: patch-log4j2-1637.diff
>
>
> Log4j2 2.7 fails to initialise in an OSGi environement complaining that 
> java.lang.NoClassDefFoundError: org/apache/logging/log4j/Logger.
> Running the OSGi tests on Log4j API also fails:
> org.apache.logging.log4j.osgi.felix.FelixLoadApiBundleTest
> testMissingImportOfCoreOsgiPackage(org.apache.logging.log4j.osgi.felix.FelixLoadApiBundleTest)
>   Time elapsed: 1.031 sec  <<< ERROR!
> org.osgi.framework.BundleException: Activator start error in bundle 
> org.apache.logging.log4j.core [2].
> Caused by: java.lang.NoClassDefFoundError: org/apache/logging/log4j/Logger
> Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.Logger 
> not found by org.apache.logging.log4j.core [2]
> [... likewise for the other tests and equinox]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to