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]