【问题标题】:Using Elmah to audit interesting events使用 Elmah 审计有趣的事件
【发布时间】:2009-06-04 17:43:58
【问题描述】:

我可以连接 Elmah 以在我的 ASP.Net 应用程序中记录异常,它运行良好。

我还需要审核应用程序中发生的有趣事件。例如,我必须审核“电子邮件地址已更改”事件并存储新旧电子邮件地址。

使用 Elmah 记录这些有趣的事件是否合适? Elmah 似乎没有配置为记录除异常之外的任何内容。

我可以把它弄脏并创建一个假异常,但这闻起来很有趣。另一方面,为一个小型应用程序放置多个日志存储库似乎很糟糕。

使用 Elmah 作为审计存储库并创建虚假异常是否合适? 除了例外,Elmah 可以存储“信息”项目吗? 当我已经在使用 Elmah 时,是否有更好的有趣事件存储库?

【问题讨论】:

    标签: asp.net elmah


    【解决方案1】:

    绝对不要使用 ELMAH 进行审计。要么将审计构建到您的业务逻辑中,要么至少使用 log4net 之类的东西将其记录到其他地方。

    【讨论】:

    • 嗯,Elmah 也可以用于自定义日志记录 - 例如:Elmah.ErrorLog.GetDefault(Context).Log(new Elmah.Error(new Exception("Sample Text")));跨度>
    • 是的,Nineth,这就是我为简单/快速应用所做的。
    • 约翰,你能提供几个理由来支持你的观点吗? EMAB、Log4Net、ASP.Net Health Monitoring 等可以记录错误;也许不如 Elmah 好,但它们确实允许审计日志。为什么要将异常定向到 Elmah,而另一层用于信息审计?
    • 使用 log4net 或只记录“有趣”的事件。
    • 如果记录的数据与所有错误混合在一起,将变得更加困难。您将如何将其与用户关联?一个帐户?如果您想提取用户所做的所有有趣更改的列表,请尽情享受从 ELMAH 中解析出来的乐趣。你可以做到,但你为什么要这样做?
    【解决方案2】:

    我想我可能会在您要审核的字段上创建一个 sql 触发器,这样您就不会与任何其他应用程序混淆,SQL Server 将为您处理这一切

    【讨论】:

      【解决方案3】:

      翻了一个旧帖子,但现在有一个elmahappender for log4net

      这样,您可以拥有 log4net 的所有功能,例如向 elmah 发送信息消息,并拥有 elmah 的漂亮网络界面来阅读它们。

      【讨论】:

        猜你喜欢
        • 2010-10-12
        • 1970-01-01
        • 1970-01-01
        • 2016-02-29
        • 2011-03-11
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 2020-03-30
        相关资源
        最近更新 更多