Log4net仅针对1个特定用户详细说明

时间:2012-11-16 09:03:42

标签: asp.net log4net

我正在使用log4net记录我们网站的错误/信息,效果很好。

是否可以根据登录的用户/ sessionid或类似内容来控制日志记录级别。 IE浏览器。用户给我们一个问题,我们为他们打开了详细的日志记录,这样我们就可以排除故障,但只会通过详细的日志记录减慢用户的负担?

显然我可以明确编码,但我想知道log4net中是否有任何内置?也许通过使用具有全局属性的过滤器?

1 个答案:

答案 0 :(得分:0)

您应该查看过滤器,也可以自己编写。或者制作自己的日志追加器,为您进行过滤。

过滤器:

 <filter type="YourNameSpace.UserFilter">
     <user value="myusername"/>
 </filter>

然后将SkeletonFilter类实现为YourNameSpace.UserFilter

如果您使用窗口身份验证和模拟,您还可以使用log4net.Filter.PropertyFilter,它允许您过滤消息中的属性。用户可以通过UserId属性找到:

<filter type="log4net.Filter.PropertyFilter">
   <key value="UserID" />
   <stringToMatch value="MyUserName" />
</filter>