If I'm understanding your need correctly, you could probably do this in the following way without any code changes to Log4J:

- if the user is authenticated, you can get the principal from the HttpServletRequest.
- If that user has been "enabled for debugging", get an instance of a category for that user that is one step below a well-known debugging category (for example, category "UserDebug" logs to a special appender called "DebugUserProblems"). So, if I was authenticated with an SSL certificate any my distinguished name was "uid=ctaylor,dc=java-internals,dc=com", you could make the category name "UserDebug.ctaylor". One technique for doing this is to always get an instance of a category for logging in your application, but it depends if the user is on the debug list or not if calls go to the special log. You can put that instance of the Category into the request attributes.

Let me know if I'm misinterpreting you.

-Chris

On Friday, February 16, 2001, at 06:50 PM, Scott M Stark wrote:

I'm looking to correlate msgs with the active thread and to have the Priority of
the thread override any Category.xxx() log msg invocation so that all log statements
in this thread of control are rendered.

The use case for this is a production J2EE server housing many EJBs, servlets, etc.
and there is a problem report for particular user interacting with one servlet. I don't
want to have to crank up the priority limit to dump out all possible msgs. I just want
to toggle a request parameter that triggers logging throughout one particular thread of
control the user is interacting with.

----- Original Message -----
From: "Christopher Taylor" <[EMAIL PROTECTED]>
To: "LOG4J Users Mailing List" <[EMAIL PROTECTED]>
Sent: Friday, February 16, 2001 6:27 PM
Subject: Re: Using NDC to enable logging over a thread of control


Could you go into a little more detail? Do you want to correlate messages with Threads
or with clients?

-Chris

Scott M Stark wrote:

One common logging task I use frequently in server development is the ability to
enable logging across a thread of control beginning at some entry point. An example
is enabling all log msgs regardless of priority that are executed within a particular
servlet's service() method. Going through the log4j api I can't see a way to do this.
Is this possible?

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


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




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

Reply via email to