Yeah we're using the log4net.Appender.AdoNetAppender.

From: Rob Prouse [mailto:rob.pro...@ivara.com]
Sent: Wednesday, September 01, 2010 11:59 AM
To: Log4NET User
Subject: RE: Custom Properties in an ASP.Net Web Application

For the common log appenders, the log is output synchronously with the log 
message, so it should be on the same thread, so it shouldn't be a problem. I am 
not sure of the behavior when you use an asynchronous appender (like the ADO 
appender), but it should be pulling the context out before it goes 
asynchronous. If it doesn't, then that would be a bug in log4net, but I would 
need to look at the code.

What appender are you using?

From: Gagne, Chris [mailto:cga...@ivey.uwo.ca]
Sent: Wednesday, September 01, 2010 11:03 AM
To: Log4NET User
Subject: Custom Properties in an ASP.Net Web Application

Here's our situation...

We're adding debug messages to an ASP.Net web application that allows our users 
to apply for a job online.  We have a custom properties and database fields 
created named JobPostingId and MemberId.  Here's a small code snippet of our 
logging.

ILog logger = LogManager.GetLogger(CONST_JOBPOSTINGS);

if (logger.IsDebugEnabled)
{
                log4net.ThreadContext.Properties[CONST_JOBPOSTINGID] = 
JobPostingId;
log4net.ThreadContext.Properties[CONST_MEMBERID] = MemberId;
                logger.Debug(message);
}

We've noticed very inconsistent values for our custom properties.  I suspect it 
has something to do with the context belonging to a thread and that same thread 
being reused by different web requests, therefore different users.

Does anyone have suggestions for me on how I can capture user specific data 
into custom properties?  Any thoughts or suggestions would be greatly 
appreciated.

Reply via email to