【问题标题】:log4net - per user logginglog4net - 每个用户记录
【发布时间】:2009-11-29 16:04:08
【问题描述】:

请帮助我使用 log4net 进行此查询。

我在我的应用程序中使用 log4net。我在配置 log4net 以在用户级别记录错误时遇到问题。

也就是说,如果用户 X 登录,我喜欢创建文件名 X,并且用户 X 的所有错误都应该写入 X.log。同样,如果 Y 用户在日志文件中登录应该以 Y.log 的名称登录,并且需要注意的最重要的一点是,他们可以同时登录。

我通过创建日志文件来尝试运气,该日志文件的名称将在用户登录后立即被动态框起来。但是这里的问题是,如果他们没有同时使用应用程序,则使用正确的名称创建日志文件并且按预期写入,但如果两个用户都有活动会话,则仅为第一个登录的用户创建日志文件,并且第二个用户的错误已记录在为第一个用户创建的日志文件中。

请帮帮我。

【问题讨论】:

    标签: log4net


    【解决方案1】:

    必须有一个更好的解决方案,但是您可以从代码更改 log4net 配置,甚至决定要加载哪个配置文件 - 因此您可以在代码中执行此操作,这不如编辑 XML 文件好。

    所以你需要做的是,每次调用logger静态类时都创建log4net配置,并根据调用用户做需要做的事情。

    再次..感觉不对!

    (它可能会表现不佳)。

    另一个BETTER解决方案是使用用户列将所有内容记录到数据库(log4net支持它),然后从db生成日志.... p>

    【讨论】:

    • +1 用于登录数据库。为每个用户记录到一个文件不会扩展。
    • +1 用于登录数据库。 IMO 这是正确的方法。没有并发/可扩展性问题和干净、开箱即用的 log4net 使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多