logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Thompson" <tony.thomp...@stone-ware.com>
Subject Re: Log4j category for a thread
Date Tue, 08 Jun 2004 16:06:27 GMT
>Pardon my asking but what is wrong with:
>  void getUser() {
>      Logger logger = LogManager.getLogger( "org.widgets.getUser" );
>  }
>or just
>  void getUser() {
>      Logger logger = LogManager.getLogger( "org.widgets" );
>  }
>Why should the logging in getUser() care if it has been called by
>or by logout()?
>Please bear with me, I am trying to understand the use case.

No problem.

I don't really want getUser() to have its own logging category.  What I
am concerned about is the end user experience.  If I am the end user and
I want to see DEBUG for the login process, I shouldn't have to set DEBUG
levels on more than one category.  I should set DEBUG for
"org.widgets.login" and see all of the debug available for the login
process.  Plus, getUser() would display DEBUG messages every time
logout() is called which is not what I wanted either.

Now, as the server developer, I could implement getUser() like this:

void getUser( Logger logger ) {

and just pass the logger in every time I call it.  That would
accomplish the same thing.  But, I don't really want to mess with all of
the code that calls getUser() and pass in a Logger.

So, to me, the cleanest solution would be to set a Logger for the
current thread.  Then getUser() can just grab the "current" logger and
use that.  It doesn't care because it is only part of a larger process
anyway.  This is an implementation detail but, you would also need a
default category (maybe the root logger) to log messages to in case the
caller hasn't set a logger context.  Either way, getUser() relies on
someone else to tell it what its logger should be.


To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org

View raw message