我们在我们的 Asp.Net Web 应用程序中使用 log4net(替换 nLog)。nLog 有一个有用的特性,它允许我们为每个用户创建一个日志文件——这有助于组织和定位日志语句。
有人对如何使用 log4net 执行此操作有任何想法吗?
与其记录到文件,不如考虑记录到数据库表,并将用户 ID 作为记录数据的一部分。通过这种方式,您可以根据用户(或多个用户)对表进行选择,并且只查看他们的数据。可能还想记录会话 ID,以简化基于会话的查询。
在 global.asax 文件的 session_start 事件处理程序中以编程方式实例化一个新的 RollingFileAppender。这样,您可以为每个用户获取一个不同的文件,例如将文件命名为 [username]myapp.log 。我知道,这是一个老问题,但对某人来说总是很方便:)
一种方法是编写自己的附加程序,例如从 RollingFileAppender 派生
我只是登录到一个文件,然后当我想查看特定用户的会话时,使用一个不错的日志查看程序(如LogExpert )按用户名等进行过滤。