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

Matt Sicker commented on LOG4J2-513:
------------------------------------

So far, one major refactoring that was required is separating out the class 
that holds the LoggerContextFactory. For lack of a better class name, I've gone 
with LoggerContextFactoryContext. This becomes an overridable anchor to the 
system, where LogManager delegates out to the context class. Included in the 
context class is the code from LogManager.static, and LogManager.static simply 
calls that method with override=false.

Anyway, I've also added another bundle that includes a BundleActivator that 
will load/reload the logger context factory using the proper class loader. 
Needs more testing as I'm still learning how to use OSGi, but it seems simple 
enough.

> Use more OSGi-friendly class loading mechanisms.
> ------------------------------------------------
>
>                 Key: LOG4J2-513
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-513
>             Project: Log4j 2
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 2.0-rc1
>         Environment: OSGi
>            Reporter: Matt Sicker
>              Labels: api, bundle, classloader, osgi
>
> See for instance 
> [here|http://njbartlett.name/2012/10/23/dreaded-thread-context-classloader.html].
>  Currently, o.a.l.l.util.ProviderUtil has a findClassLoader() method that 
> depends on using the thread context class loader (TCCL). Now this method may 
> work in certain environments, but once you're in an OSGi environment, class 
> loaders are far more modular thanks to each bundle getting its own class 
> loader. The thread context class loader is oftentimes not the correct one in 
> such an environment.
> I'll do more research on being compatible with OSGi without depending on 
> OSGi. In the meantime, this ticket will have to do.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
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