You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Ceki Gülcü <ce...@qos.ch> on 2004/06/07 18:16:37 UTC
Re: Different logging levels for each library client
application
At 05:38 PM 6/7/2004, you wrote:
>Hi,
>
>I have a library with a small number of public methods, every method
>carrying a "client application id" parameter.
>
>The number of different client ids can be between 3 and 10, no more.
>
>I'd like to be able to set different logging levels for each client id.
>
>My first guess was to set up parallel hierarchies like
>
>- client1.com.wombat.clazz
>
>- client2.com.wombat.clazz
>
>so that I can set log4j.logger.client1=DEBUG and log4j.logger.client2=INFO
>
>but I'm afraid that would impact performance negatively as I would have to
>call getLogger in each method call to retrieve the right logger for the
>request's client id.
No need to call getLogger() each time your methods are called. You can
place the different loggers namely logger3, logger4, ..., logger10 in a
HashMap (or even a Vector) and retrieve them from the HashMap. If a logger
is not in the HashMap only then do you call getLogger().
>Has anyone faced this problem before and found a better approach?
The solution outlined above should work very well for the finite and
delimited problem you describe.
>Rgds, *jordi
--
Ceki Gülcü
For log4j documentation consider "The complete log4j manual"
ISBN: 2970036908 http://www.qos.ch/shop/products/clm_t.jsp
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org