I was thinking about how to best support strange class loader environments
(like OSGi or Servlets), and in order to support a LoggerContextFactory, we
should have a registry of sorts for it. This way, a new LCF can dynamically
add or remove itself at runtime. Ideally, we'd fall back to the
SimpleLogger implementation when none are registered. There may be an added
issue with Loggers being tied to their factories and such.

Anyway, the main thing to address is the ability to change (or add)
providers at runtime. Whether or not we can support a more dynamic system
is more of a technical issue. Scanning for a default provider at
initialization still makes sense to pre-load the registry, but imagine the
scenario where a server like Tomcat uses Log4j but allows individual web
apps to provide custom providers.

I'd like to at least implement the necessary API changes before 2.0 so that
this may be possible down the line. Even if we don't use OSGi, it should
still be possible to use log4j in an OSGi framework (core or as a regular
bundle). This will certainly help adoption by the container projects.



-- 
Matt Sicker <[email protected]>

Reply via email to