13 messages in org.apache.logging.log4j-userRe: Log4j category for a thread
FromSent OnAttachments
Tony ThompsonJun 7, 2004 8:30 pm 
Paul SmithJun 7, 2004 8:43 pm 
Tony ThompsonJun 8, 2004 6:11 am 
Ceki GülcüJun 8, 2004 7:20 am 
Tony ThompsonJun 8, 2004 8:00 am 
Ceki GülcüJun 8, 2004 8:36 am 
Tony ThompsonJun 8, 2004 9:06 am 
Paul SmithJun 8, 2004 3:21 pm 
Larry YoungJun 8, 2004 4:09 pm 
Tony ThompsonJun 8, 2004 5:31 pm 
Paul SmithJun 8, 2004 5:57 pm 
Sullivan, Sean C - MWTJun 8, 2004 6:04 pm 
Tony ThompsonJun 8, 2004 8:07 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Log4j category for a threadActions...
From:Ceki Gülcü (ce@qos.ch)
Date:Jun 8, 2004 7:20:53 am
List:org.apache.logging.log4j-user

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