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:Tony Thompson (tony@stone-ware.com)
Date:Jun 8, 2004 8:00:20 am
List:org.apache.logging.log4j-user

What I am looking for is a way set a logger based on the thread of execution. In want to use this in a server process so, my example as a server:

void login() { Logger logger = LogManager.getLogger( "org.widgets.login" ); getUser(); ... }

void logout() { Logger logger = LogManager.getLogger( "org.widgets.logout" ); getUser(); ... }

void getUser() { // Which logger do I use? }

So, getUser() would "inherit" its Logger based on who calls it (thread of execution) not a parent object.

Tony

ce@qos.ch 06/08/04 09:21AM >>>

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: log4@logging.apache.org For additional commands, e-mail: log4@logging.apache.org

------------------------------------------------------------ Mail was checked for spam by the Freeware Edition of No Spam Today! The Freeware Edition is free for personal and non-commercial use. You can remove this notice by purchasing a full license! To order or to find out more please visit: http://www.no-spam-today.com