[在System.Diagnostics.Trace中插入您喜欢的日志库]的优势是什么?

时间:2011-05-19 11:35:52

标签: .net logging system.diagnostics

道歉,如果我忽略了它,但我无法立即在SO上找到类似的问题。

.Net附带了一些内置的日志记录功能(实质上是System.Diagnostics.Debug和System.Diagnostics.Trace)。

是否有充分的理由不在典型的LOB应用程序中使用这些内置工具进行日志记录,而是使用log4net,NLog,EntLib日志记录块或[在此处插入您喜欢的日志库]?

编辑:请注意,我更感兴趣的是查明System.Diagnostics w.r.t的缺点。日志记录功能,而不是不同日志记录库的功能。

4 个答案:

答案 0 :(得分:3)

我更喜欢使用NLog或log4net,因为它给了我:

  1. 记录目标。我可以在不改变任何记录代码的情况下为特定目的选择最佳状态
  2. 由于日志级别
  3. ,我可以在特定情况下记录我需要的信息
  4. 我可以按照自己喜欢的方式格式化我的日志条目,也可以用不同的方式格式化不同的目标
  5. 性能非常好,感谢批量处理
  6. 我没有发明轮子
  7. 我可以多次重复

答案 1 :(得分:2)

能够将日志发送到多个端点(系统日志,数据库,事件日志等)非常有用。

答案 2 :(得分:1)

我使用log4net,它的优点是在配置文件中,您可以选择所需的日志级别(严重,错误,警告,信息,调试),并且您可以免费获得电子邮件日志和滚动日志文件等内容。 p>

答案 3 :(得分:0)

对于.net,我喜欢使用http://netcommon.sourceforge.net/doc-latest/reference/html/logging.html。它基本上是一个包装层,所以在下面,你可以轻松切换日志引擎。虽然它非常像log4net。

还有:

http://commons.apache.org/logging/guide.html