【问题标题】:.NET Logger libraries. Your choice.NET 记录器库。你的选择
【发布时间】:2010-06-27 05:27:15
【问题描述】:

您在 .NET 项目中使用什么记录器库以及您喜欢哪个?我用了一段时间log4net,但它的最后一个版本是2007年。如果你有几个图书馆,你个人的选择和意见是什么?现在有生产标准的记录器库吗?

提前感谢您!

【问题讨论】:

    标签: .net logging


    【解决方案1】:

    我仍然使用 log4net。没有投诉。

    【讨论】:

    • +1 我唯一的抱怨是在记录格式化消息时 API 略有不同。例如。 log.Debuglog.DebugFormat 而不是仅仅重载 log.Debug
    【解决方案2】:

    来自微软企业库的Logging Application Block 不错。

    优势列表:

    1. 它可以通过 MSMQ 写入各种预定义的目标 - 数据库、事件日志、文本文件、远程服务器,它还支持自定义编写器。
    2. 可以通过外部工具完成配置,该工具直接与您的应用程序 app.config 配合使用或在运行时动态运行。
    3. 来自 Microsoft 的支持。 5 版本于 2010 年 4 月发布

    【讨论】:

    • 我同意。我特别喜欢可扩展性。我添加到 Logging Block 的一个不错的功能是能够根据某些消息类别向一组利益相关者发送电子邮件。
    • 感谢参考!当前版本是 5.0,终于达到了 log4net 功能。
    【解决方案3】:

    我个人无法忍受 log4net。如果您使用 log4j,那么它可能是有道理的,但如果您是从一个未受腐蚀的头脑开始的,您会想知道为什么它是这样编写的。

    我更喜欢The Object Guy's Dot Net Logger

    【讨论】:

      【解决方案4】:

      我更喜欢我自己的CuttingEdge.Logging。我构建了它,因为我对 Log4net 和 Logging Application Block 等复杂的日志框架有点恼火。 CutEdge.Logging 易于使用,但为此牺牲了灵活性。

      【讨论】:

      • +1 对于基本系统,我更喜欢“自己动手”,而对于大型系统,我更喜欢使用更复杂的实现
      • @RobS:感谢您的支持。我不会建议任何人推出他们自己的日志框架。即使对于基本系统。有足够的框架可供选择(比如我自己的)。当然,问题变成了选择正确的那个。当您有疑问时,您始终可以使用日志外观并选择一个具有该外观实现的框架。例如,CuttingEdge.Logging 有一个用于 Common.Logging 基础设施的适配器。
      【解决方案5】:

      我知道的两个是 log4net。我在许多项目中都使用过它。文档很不错,尽管我总是必须阅读文档才能设置新项目。

      还有NLog虽然没用过。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多