I'm trying to use
log4net.LogicalThreadContext.Stacks[stackName].Push(value) to push context
onto the logical thread. But I can see that ThreadPool.QueueUserWorkItem,
and other ways that the .NET CallContext is propagated do not actually
receive the log4net.LogicalThreadContext, and as a result these other
threads don't have any stack inherited from the context that spawned it.
I am successfully using CallContext.LogicalSetData myself for other logical
thread tracking purposes in my application so I have reason to believe it
works -- I just don't know why log4net isn't working. Any ideas?
"I [may] not agree with what you have to say, but I'll defend to the death
your right to say it." - S. G. Tallentyre