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

>>> [EMAIL PROTECTED] 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: [EMAIL PROTECTED] 
For additional commands, e-mail: [EMAIL PROTECTED] 


------------------------------------------------------------
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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to