I've seen an email from Piers Williams in december asking about this. Basically - in an ASP.NET application - none of the existing contexts are "safe" to use.
I'd like to remedy this. There are two ways forward that I can see. 1. Add a new WebContext class. 2. Change the ThreadLogicalContext class to use the HttpContext if required. The safest way to do this would be to add a configuration option to <log4net isWeb="true"> and test for this in ThreadLogicalContext. I (probably) prefer 2 because it means your Business layer does not need to be aware of whether or not it is running in a web context. Has anyone got any thoughts on this or done any work here already? j.