1

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

是否可以根据登录的用户/sessionid 或类似的东西来控制日志记录的级别。IE。一个用户打电话给我们一个问题,我们只为他们打开详细的日志记录,这样我们就可以进行故障排除,但只能通过详细的日志记录减慢该用户的速度?

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

4

1 回答 1

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>
于 2012-11-16T09:31:40.920 回答