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:Sullivan, Sean C - MWT (Sull@menlolog.com)
Date:Jun 8, 2004 6:04:20 pm
List:org.apache.logging.log4j-user

We've been using ThreadLocal loggers in our enterprise applications.

We implemented a custom logging layer that sits on top of Log4j.

There are other ways to do it.... you can declare ThreadLocal Logger variables -OR- you could build an intelligent Logger class -OR- perhaps you could build a custom LoggerRepository -OR- you could write a custom Appender that is

thread-aware.

-Sean

-----Original Message----- From: Paul Smith [mailto:psm@apache.org] Sent: Tuesday, June 08, 2004 5:58 PM To: Log4J Users List Subject: Re: Log4j category for a thread

I was thinking about this, but it's just a tiny class that would have a Logger available, and then people might want different ThreadLocal loggers bound for different purposes. I'm not sure the class adds a lot of value to log4j, but I agree the concept/methodology might be worth having on the wiki somewhere..

cheers,

Paul Smith

On Tue, 8 Jun 2004, Tony Thompson wrote:

Would it make sense to put something like that in Log4j, since the functionality doesn't currently exist?

psm@apache.org 06/08/04 05:21PM >>>

I would suggest then simply setting up a ThreadLocal Logger then, configured at the start of your request, that all the participants expect to be there.

On Tue, 8 Jun 2004, Tony Thompson wrote:

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 login() 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.

Tony

---------------------------------------------------------------------

To unsubscribe, e-mail: log4@logging.apache.org For additional commands, e-mail: log4@logging.apache.org

---------------------------------------------------------------------

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

---------------------------------------------------------------------

To unsubscribe, e-mail: log4@logging.apache.org For additional commands, e-mail: log4@logging.apache.org