【问题标题】:Log4Net or Logging Application Block [closed]Log4Net 或日志记录应用程序块 [关闭]
【发布时间】:2010-09-20 18:43:57
【问题描述】:

我的应用程序中需要一个日志框架。我有两个候选人:Log4Net 和从应用程序块记录。 哪个更好?他们中的任何一个有什么特定的优势吗?

谢谢

【问题讨论】:

标签: .net logging log4net


【解决方案1】:

我发现 Log4Net 更易于设置和使用。 Enterprise Library 应用程序块的问题是它们倾向于包含所有东西和厨房水槽,并且可以将看似简单的事情(如日志记录)变成非常复杂的事情。也因为 Log4Net 与我也使用的 nHibernate 一起使用,所以我已经准备好了。

【讨论】:

    【解决方案2】:

    我的意见... Log4Net 工作、性能良好且稳定(如果您知道我的意思,考虑到发布频率,可能太稳定了)。

    如果您需要日志记录,那么您不太可能不需要企业库公开的其他功能,您将在 Microsoft 路线图上,从定期更新中受益,拥有工具支持(例如配置工具)并且有总是比你从开源中获得的要好得多的备受诟病的文档。

    我想我的偏好很明确!一路企业库。

    【讨论】:

    • MS 文档在表面上可能看起来不错,直到您真正在寻找某些东西。
    【解决方案3】:

    除非您已经将企业库用于其他功能,否则我会选择 log4net。我发现企业库有点重,需要更多的代码来实际进行日志记录。

    log4net 具有以下优点;

    • 快速灵活
    • 分层的、命名的日志记录类别
    • 多个日志记录级别
    • 输出到多个日志记录目标
    • 动态 XML 配置
    • 线程安全
    • 日志格式很容易更改
    • 经过验证的架构 (log4j)
    • 模块化和可扩展设计
    • 支持多种框架
    • 背后有一个强大的社区。​​li>

    我已经使用 log4net 几年了,每当我需要做一些开箱即用的事情时,我很惊讶它最终变得多么容易。

    【讨论】:

    • 当您说“log4net 具有以下优点”时,是否意味着企业库不支持所有这些功能?
    • @M4N 列出的许多项目不是 log4net 优于 EntLib 的优势。例如EntLib 具有命名类别(但不是分层的)、多层次、线程安全、模块化设计、强大的社区(微软本身)。请强调您认为 EntLib 没有的优势。
    【解决方案4】:

    Log 4 net 不错:功能很棒,但要掌握配置需要一些时间和精力,尤其是在默认输出不够用且需要扩展它的情况下。

    Enterprise Library 很重,不确定它们的去向(版本之间存在一些重大变化,尤其是在 DAB 中)。所以我个人远离它。

    我目前正在研究 nLog(听说过一些非常好的事情)

    更新:我目前喜欢 nlog。我想提到的一件特别的事情是从代码中配置日志级别的便利性。使用示例: - 用户体验错误 - 我们要求将日志级别设置为跟踪(菜单选项)并执行相同的步骤 - 我们要求将日志文件通过电子邮件发送给我们。 (另一个菜单选项)

    【讨论】:

      【解决方案5】:

      A simple example of log4net console app Bellow也是配置文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-28
        • 1970-01-01
        • 2018-01-17
        • 1970-01-01
        • 2021-11-23
        • 2016-05-30
        相关资源
        最近更新 更多