Hi, > I want to understand what niche JULI is filling here. It extends the jdk > logging but uses log4j classes and implements JCL and SLF4J interfaces? Why > would I want to use this instead of log4j or the jdk libraries?
You may not, and a normal user may not, but the container developer (Tomcat being the container here) does. The reason is to gradually reduce dependence on JCL, which has been mostly a nightmare, inside the container itself, and migrate towards the smallest possible container implementation that is still under Tomcat's own control but not an area where significant maintanance work needs to be done. The motivation for this is a couple of years of PITA with complicated bugs related to JCL, log4j, servlet classloaders, and the interaction thereof, plus volatility with things like SLF4J and JCL 2.0, plus the fact Tomcat 5.5 now requires JDK 1.4 so built-in logging is easily available. Please keep in mind I'm not exactly advocating this: I didn't write a bit of JULI, but I do understand the frustrations that have led to it. And I have to say, logging-related bugs and complaints amongst the tomcat-user community have dropped significantly since its introduction. Yoav
