2011-02-11 99 views
26

我需要在我的项目中使用日志记录库,并考虑企业日志记录模块与NLog vs log4net之间的关系。我在比较中发现了一些链接,但其中大部分都比较陈旧,并且对长时间没有新版本的log4net等提出质疑。企业日志记录模块vs NLog vs log4net

任何人都有关于哪一种更易于使用,配置更容易的建议,性能,可扩展性等基于当前数据。

+4

看看这个答案:http://stackoverflow.com/questions/710863/log4net-vs-nlog/2121341#2121341 – 2011-02-11 16:35:34

回答

10

我个人喜欢log4net。它是快速,稳定和可配置的(并且使用自定义appender等扩展起来非常简单)。

我不担心新版本的缺乏 - 在我看来,它只是证明代码库是稳定的并包含它应该的功能。毕竟,我希望我的记录最重要的是稳定。

这是一个slightly similar question,也许你也可以使用一些答案。

+2

你试过NLog吗? – Michael 2014-03-18 03:26:12

+3

[这个人](http://www.alteridem.net/2010/11/04/why-i-switched-from-log4net-to-nlog/)写道,Log4Net中有很多bug,而且它失败了很多自己的测试套件。情况可能有所改善,但我会犹豫,根据下面的问题将它称为稳定版本,以及.NET4兼容版本花费的时间。 – 2015-04-09 18:20:51

+0

@斯科特:这是一个很老的帖子。现在log4net正在开发中,例如当前版本是从2015-03开始的。所以,这是不正确的论点。 – VikciaR 2015-06-19 10:35:17

2

我发现他们都很相似和有能力。自从我使用企业图书馆日志块以来,已经有好几年了,但即使那时候它也很体面。 NLog & log4net都是固体。

一个选择另一个的一个原因可能是第三方库集成。例如,如果您使用NHibernate或Quartz或其他使用log4net的库,它可能会推动您的选择。

6

您可以推迟的决定“要使用的记录器”,如果你正在使用Common.Logging。这是一个日志包装程序,您可以在其中配置日志记录,并转到log4net,nlog和System.Diagnostics.Debug。我不知道企业日志块,我不知道是否有用于常见日志记录的“企业日志块”插件。

+0

该链接未更新。你应该链接到https://github.com/net-commons/common-logging,而不是 – 2015-03-09 16:10:30

18

我刚刚在一个更大的项目中评估log4net和NLog的使用情况。两者都有类似的界面,并且高度可配置。

NLog似乎更好地维护:log4net与.Net4的不兼容问题在log4net中相当长时间没有解决。 Nlog带来了一些像'NuGet Package'和Visual Studio的Xml Schema一样的'花里胡哨的'来编辑配置文件。

,因为我们测量了log4net的一个更好的表现,我们决定为log4net的结尾:一个简单的测试,写作10000条日志消息记录到文件和网络日志查看器(Log2Console)显示的log4net的十倍更好的表现!我们没有调整配置文件,文件和notwork记录器用于最小配置。您应该使用项目的典型日志记录设置来验证这一点。

4

另一个经常被忽视的差异是NLog是BSD,而log4net是Apache许可证。 ELB是MS-PL(微软的开源版本)。这在大多数情况下可能并不重要,只是说。