Log4Net或日志应用程序块

时间:2008-11-04 21:27:03

标签: .net logging log4net

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

由于

5 个答案:

答案 0 :(得分:18)

我发现Log4Net更易于设置和使用。企业库应用程序块的问题是它们往往包括所有东西和厨房水槽,并且可以使看似简单的东西(如记录)变成非常复杂的东西。另外因为Log4Net与nHibernate一起使用,我也使用它然后我已经准备就绪了。

答案 1 :(得分:10)

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

log4net具有以下优点;

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

我已经使用log4net几年了,每当我需要开箱即用时,我很惊讶它最终会变得容易。

答案 2 :(得分:7)

我的观点...... Log4Net工作正常,表现稳定(如果您知道我的意思,可能会因发布频率而过于稳定)。

如果您需要记录,您不太可能不需要Enterprise Library公开的其他功能,您将在Microsoft路线图上,从常规更新中获益,拥有工具支持(例如配置工具)并且总是备受诟病的文档,远远超过你使用开源的文档。

我认为我的偏好是明确的!企业库一路走来。

答案 3 :(得分:3)

Log 4 net很不错:很棒的功能,但掌握配置需要花费一些时间和精力,特别是当默认输出不够时你需要扩展它。

企业库非常重要,不确定它们的发展方向(特别是在DAB中,版本之间发生了一些重大变化)。所以我个人远离它。

我目前正在关注nLog(听到一些非常好的事情)

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

答案 4 :(得分:1)

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