代码之家  ›  专栏  ›  技术社区  ›  paradisonoir

比较企业库中的日志应用程序块与log4net?

  •  5
  • paradisonoir  · 技术社区  · 16 年前

    有人能比较一下这两种日志机制吗?

    3 回复  |  直到 16 年前
        1
  •  11
  •   Community CDub    8 年前

    这篇文章写得相当多。以下是一些需要阅读的内容:

    http://james.newtonking.com/archive/2007/06/05/enterprise-library-logging-vs-log4net.aspx http://theiterator.com/2009/01/log4net-vs-enterprise-library-logging-application-block/ https://stackoverflow.com/questions/118047/log4net-vs-enterprise-library-which-is-better-faster

    我的想法是:

    • 人们普遍认为log4net的性能更快。这在典型应用程序中是否有意义值得商榷。
    • log4net还支持开箱即用的分层记录器,这很好。El可以做类似的事情,但你必须自己动手。
    • log4net的配置有点神秘,没有很好的文档记录(imo)。但是,EL的配置也很麻烦(而且没有配置工具也很痛苦)。此外,EL为您提供了许多选择,您可能希望花一些时间进行设计(例如,您希望类别与日志级别或层、功能区或所有以前的类别相关,还是其他类别相关?)

    如果您已经在使用EL,那么为了一致性,您可能只需要坚持使用EL日志(它还与异常处理块集成)。如果我在应用程序中使用EL,那么我倾向于使用EL进行日志记录。如果不是这样的话,我通常更喜欢小应用程序的log4net,因为安装时间通常更短。(不要贬低任何人最喜欢的伐木工人!:)

    我用过这两种方法,发现它们都很管用。

        2
  •  5
  •   RSolberg    16 年前

    下面我直接从工具的网站上给出了一些描述。我更喜欢底部的elmah,但在log4net或日志应用程序块上花费的时间不多。

    Log4Net

    • 支持多个框架
    • 输出到多个日志记录目标
    • 分层日志结构
    • XML配置
    • 动态配置
    • 日志记录上下文
    • 经验证的体系结构
    • 模块化可扩展设计
    • 高性能和灵活性

    Logging Application Block

    • 事件日志
    • 电子邮件
    • 数据库
    • 消息队列
    • 文本文件
    • WMI事件
    • 使用应用程序块扩展点的自定义位置

    ELMAH

    • 记录几乎所有未处理的异常。
    • 远程查看记录异常的整个日志的网页。
    • 远程查看任何一个已记录异常的完整详细信息的网页。
    • 在许多情况下,您可以查看ASP.NET为给定异常生成的原始死亡黄色屏幕,即使在客户错误模式关闭的情况下也是如此。
    • 每次出错时都会收到一封电子邮件通知。
    • 日志中最后15个错误的RSS源。
        3
  •  1
  •   Dennis G.    16 年前