Hi, I have a number of years experience using log4j, but I currently find myself over my head in sorting issues with a rather large enterprise application and I could really use some guidance on how to proceed. I do not really expect this list to actually give me the answers as I undoubtedly do not have sufficient information at hand even if you were amiable to spend cycles on such assistance. What I am really hoping is that you good folks can point me to some resources that will assist my quest in sorting this. That said if you have advice by all means, I'm all ears ;-) So far I have done extensive Googling and have come up empty; which on one hand surprises me as I would doubt our issues are unique in the enterprise, but on the other I have to admit it has been a challenge to phrase a query that does not generate more noise than value. Today I have started to read "The complete log4j manual" by Ceki Gülcü which I hope will shed some light on my direction.
Heres the context. I've just started with an organisation that has an enterprise application the has been growing over the last 10+ years which now have 100+ interdependent projects all of which use log4j at this point. One of the problems is that these projects (each of which is packaged in its own jar) are mixed and matched extensively to create the deployable war and ear bundles, yet each project attempts to control its own log4j configuration; I think this is a road to madness and needs to be sorted. Where I have problems in understanding is when JCL and SLF4J get sucked in the mix. This occurs because the applications have dependencies on 3rd party libraries that use them, f.i. httpd-client uses JCL and because we deploy to a spring framework container where the AOP (amongst others) draw in a SLF4J dependency. The result of this is that we are currently generating 1.2 million DEBUG statements an hour even though the primary log4j configuration has the root level set to INFO. I was able to trace this to the fact the DEBUG messages were not being generated by the default log4j logger but rather to the SLF4JLocationAwareLog and I have not yet worked out who and why is doing this. Many thanks, Joel Please consider the environment before printing this e-mail. Thank you. Joel Rosi-Schwartz [email protected]
