12

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

谢谢

4

5 回答 5

18

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

于 2008-11-04T21:30:28.450 回答
10

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

log4net 具有以下优点;

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

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

于 2008-11-04T21:44:25.393 回答
7

我的意见...... Log4Net 工作,表现良好且稳定(如果你知道我的意思,可能太稳定了给定的发布频率)。

如果您需要日志记录,则不太可能不需要企业库公开的其他功能,您将在 Microsoft 路线图上,从定期更新中受益,拥有工具支持(例如配置工具),并且总是有很多恶意文档,远远优于您使用开源获得的文档。

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

于 2008-11-04T21:34:47.677 回答
3

Log 4 net 很好:很棒的功能,但是需要一些时间和精力来掌握配置,尤其是当默认输出不够用并且您需要扩展它时。

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

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

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

于 2008-11-04T22:59:30.907 回答
1

log4net 控制台应用程序 Bellow 的一个简单示例也是配置文件

于 2009-04-20T19:26:17.760 回答