Tony,
Can you describe the concrete use case? Forget about the actual logger objects for a second. Do you want logging from methodA+utilityMethod and methodB+utilityMethod to go to different places? Or do you basically want
utilityMethod to inherit its logging context from some parent object?
At 03:11 PM 6/8/2004, Tony Thompson wrote:
That is not really what I want. Let me expand my example a bit:
void methodA() { Logger logger = LogManager.getLogger( "methodA" ); utilityMethod( ... ); ... }
void methodB() { Logger logger = LogManager.getLogger( "methodB" ); utilityMethod( ... ); ... }
void utilityMethod() { // Which logger do I use? }
The NDC only gives me a way to put context sensitive information in the logging statements. What I want is a way to get a Logger based on some type of logging context. In my example, I want fine grained control of my logging categories but, utilityMethod() may be called from different places. Here is what I would like to see:
void methodA() { Logger logger = LogManager.pushLoggingContext( "methodA" ); utilityMethod( ... ); ... LogManager.popLoggingContext(); }
void methodB() { Logger logger = LogManager.pushLoggingContext( "methodB" ); utilityMethod( ... ); ... LogManager.popLoggingContext(); }
void utilityMethod() { // Use the current logger. Logger logger = LogManager.getLoggingContext(); }
This, of course, could go on further too. utilityMethod() could change the current Logger before it calls some other method, etc.
Make sense? Tony
-- 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
