Log4net Adonet Appender:在运行多个应用程序实例时,数据混乱

时间:2011-07-15 04:08:56

标签: logging log4net adonetappender

场景:asp.net Web应用程序部署在远程IIS上,并配置为登录oracle database.Log表包含以下列:Login_ID,Log_message,Querystring,ipaddress。因此,使用不同的login_ids

从不同的系统浏览部署的URL

问题:当应用程序在具有不同登录ID和不同流的不同系统上运行时,将为另一个流/系统插入一个流/系统的登录ID。但是,当运行应用程序的单个实例时,正确插入了walues。

示例:使用登录ID X,通过流'A'浏览网站,另一个使用loginid Y的用户通过流'B'浏览网站。 Loginid'X'被插入到流'B'和流'A'

的记录中

代码:

user =(User)Session [“User”];

log4net.GlobalContext.Properties [“LOGIN_ID”] = user.loginid;

研究:经过几个网站后,我了解到log4net上下文与asp.net无法正常运行。

http://piers7.blogspot.com/2005/12/log4net-context-problems-with-aspnet.html

http://piers7.blogspot.com/2007/07/log4net-in-aspnet-redux-implement.html

这些链接建议我使用httpcontext,我试过但无法得到结果。所以任何人都可以帮助我解决这个问题。

1 个答案:

答案 0 :(得分:1)

检查我的answer for another question here

我的答案中的最后一个建议可能是最容易上班,它可能会做你想要的。我的建议直接基于您在上面引用的相同链接。