【发布时间】:2013-05-29 16:26:04
【问题描述】:
我正在尝试分别为每个用户编写日志文件
为此,我将文件名的属性设置为当前用户 ID,并像这样配置 log4net
log4net.GlobalContext.Properties["userid"] = userId;
log4net.Config.XmlConfigurator.Configure();
这一切都很好,它为每个用户创建新的日志文件,并将用户的所有活动记录在各自的文件中。
问题从多个用户同时请求服务开始,然后开始将一个用户的部分日志放到另一个用户文件中,因此所有日志都在同时的用户文件中混在一起。
我得到的原因是全局设置在 user1 正在进行时被 user2 覆盖,因此 user1 开始将日志写入 user2 的文件,因为设置现在被覆盖。
我也尝试了log4net.LogicalThreadContext 和log4net.ThreadContext,但它们也没有用。
有什么解决方法吗?
【问题讨论】:
标签: asp.net-mvc-3 logging log4net