Ralph Goers wrote:
> What is next for Commons Logging? Is there any point in enhancing it to 
> emulate SLF4J? Should it just stay more or less as it is while it slowly 
> loses its customer base?

I think the most appropriate use case for Commons Logging always has been for 
small components intended to be reused in multiple environments, to adapt them 
to the appropriate logging system for each environment.  Some larger projects, 
such as Tomcat, use it for more generalized purposes, but I think that is a 
mistake.  Application projects (as opposed to components) should be encouraged 
to choose and use a low-level logging framework such as Log4J.  If CL has a way 
forward then it is through focusing on its use as an adapter instead of trying 
to position it as a general-purpose logging framework.

Furthermore, it seems clear that the class loading issues CL has exhibited, 
though mitigated in recent releases, are probably going to continue to present 
problems for some CL 1.x uses for the foreseeable future.  (The irony of a 
convenience feature causing such widespread and tenacious trouble is not lost 
on me.)  My solution is to abandon the idea of auto-adaptation, or to at least 
discourage its use.  Therefore, I argue that CL should *not* attempt to evolve 
toward the SLF4J model, because that's just a different auto-adaptation 
approach, still likely to cause trouble.

Instead, CL should focus technology-wise on making it as easy as possible to 
explicitly configure logging on both global and per-component bases.  That 
could mean careful evaluation of defaults, more or better configuration 
sources, and / or tools for creating and maintaining logging configurations.

Following this strategy will mean that CL's customer base *does* continue to 
shrink for a while, because some projects are using it that shouldn't be.  It 
does not serve anyone well to try to keep people on CL when it's the wrong tool 
for the job.  On the other hand, I think this strategy can ultimately grow the 
customer base by shedding CL's image problem and providing a clearer message of 
when, why, and how to use it.


John



      

Reply via email to