【问题标题】:logging for web applicationWeb 应用程序的日志记录
【发布时间】:2008-11-29 11:46:38
【问题描述】:

我正在使用 asp.net 构建一个相当大的站点(如果有任何兴趣,可以使用表单),我想知道我是否需要一个日志框架,例如 log4net。 我以前使用过这样的框架,但我不知道如何将它用于此类项目。 通常我认为客户交付的应用程序需要日志记录,可以将日志发送回然后分析错误。 你觉得呢?

【问题讨论】:

  • 播客曾提到 log4net 导致了一些死锁问题....可能想熟悉一下?

标签: asp.net log4net logging


【解决方案1】:

见鬼 - 日志记录对于 Web 应用程序非常非常重要。如果您正确地登录,它会使故障排除所以变得容易得多。

Log4Net 作为一个框架可能是一个不错的选择。您可能还需要一种从多台服务器收集日志的方法 - 即使您目前不使用多个服务器,也可能值得建议您在某个时候这样做。

集中化的一个选项是将日志复制到数据库中 - 有关这方面的更多意见,请参阅 this question

【讨论】:

    【解决方案2】:

    所有类型的应用程序都需要日志。如果您交付您的应用程序,无论是客户交付的还是内部交付的,无论是 Web 表单还是智能客户端/Windows 应用程序日志/仪表化都是它的支柱。

    您的应用程序的最终用户如何知道该应用程序正在按预期工作? 如果发生任何错误会发生什么? 生产团队将如何诊断错误? 最终用户/管理员将如何主动分析应用程序并预​​防未来可能出现的问题?

    由于您使用的是 ASP.net,我建议您也看看 ASP.net 的“健康监控”功能。

    您可以为不同类型的日志记录编写自定义事件和提供程序,并可以将其配置为同步/异步使用。

    您可以将 log4net 或企业日志记录块与“健康监控”一起使用,并且可以轻松创建全面的日志记录/仪器解决方案。

    【讨论】:

      【解决方案3】:

      我肯定会担保企业信息接收器(我认为这是正确的名称,它是用于日志记录的 Microsoft api)或企业库。

      我将后者用于各种事情,例如缓存、日志记录等,它是一个非常强大且节省时间的工具。我也使用健康监测。这是针对我正在构建的大型 Web 应用程序。

      在登录 .NET 时,您的选择被宠坏了,以上两个建议都很棒。

      【讨论】:

        【解决方案4】:

        如果您需要了解应用程序的行为方式、错误发生的条件、谁以及如何使用应用程序(IP 地址、时间、链接...),则需要记录日志

        大多数人使用它来跟踪程序执行,以便他们可以回答诸如“它为什么停止工作?”、“它什么时候停止工作?”之类的问题。等等

        如果您对应用程序的代码了解得非常清楚,并且可以轻松重现问题,那么我猜日志记录对您来说是多余的 :)

        【讨论】:

        • 我不能完全同意。日志记录不仅仅用于诊断。它还可以用于对请求进行分析。所以,即使应用程序编码良好,我也会记录。
        猜你喜欢
        • 2013-01-12
        • 2016-07-19
        • 2023-04-08
        • 2010-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        相关资源
        最近更新 更多