2011-02-11 92 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(微軟的開源版本)。這在大多數情況下可能並不重要,只是說。