2009-11-02 46 views
24

我正在尋找一個日誌框架,它似乎log4net是或非常受歡迎。最後一個版本是在2年前。它尚未更新。NET 3.0或3.5甚至Visual Studio 2008.有什麼更近期(其他然後entlib)我應該考慮?log4net死了嗎?

+13

是否像一個記錄庫需要不斷更新?我已經使用它,它工作得很好。 – Min 2009-11-02 21:41:48

+5

EntLib是*不*你應該考慮的東西。使用log4net – 2009-11-02 21:47:19

+0

你對使用EntLib'不'的推理是什麼?是不是EntLib'最佳實踐'的代碼? – Chris 2009-11-02 22:27:05

回答

12

Log4j(這是log4net的基礎)多年未更新。還有其他來自同一作者(slf4j和logback)和其他人的替代方案,但是log4j仍然使用很多,並且有很多可行性。它並沒有死亡,它只是到了沒有任何東西需要它的地步。沒有任何理由證明這項工作是正確的,或者不會破壞兼容性。當這種情況發生在商業項目上時,公司必須爲產品創造另一個目的,或者做其他事情,產品確實死亡。在開源中,並不是真的。

作爲比較的一個觀點,JUnit基本上沒有多少年了。然後Java得到了註釋,JUnit得到了競爭(TestNG),並且它突然再次移動。現在,原來的開發人員可能不會在任何情況下都受到影響,但是這個項目將被分離或調整。例如,TestNG允許從JUnit平滑遷移路徑。

所以底線是如果它很受歡迎和使用,它不會死在你身上。

11

log4net是一個端口最初用java編寫的東西。港口或多或少是完整的。

此外,端口針對.Net 2.0運行時,並且.Net 3.0和.Net 3.5也建立在相同的運行時間之上。因此,如果需要,可以將log4net加載到Visual Studio 2008中,並在.Net 3.5項目中使用它。據我瞭解,目前沒有必要專門爲.NET 3.5或Visual Studio 2008製作新版本。 Visual Studio 2010當然可以改變(新運行時)。

+1

喬爾我在理論上贊同你。穩定,它有功能,但在軟件停滯=死亡。如果情況屬實,不想投入時間。 – Chip 2009-11-02 21:53:55

+0

好吧,vs2010 beta 2現已推出,幷包含上線許可證。因此,可能值得檢查是否有任何向.Net的_eventual_版本發佈的動作。 – 2009-11-02 22:15:51

+3

我不認爲它已經死了,因爲我們非常滿意通過UDP將它記錄到(win)syslogd中。人們可以說它(幾乎)功能完整,可能是對「缺失」最近版本的解釋。 – andyp 2009-11-02 22:22:05

4

我要死了。

對我來說,這個bug(https://issues.apache.org/jira/browse/LOG4NET-132)圍坐年意味着一個項目是死

使用NLOG代替

http://nlog-project.org/

+0

比問的問題晚了一點,但我同意。 NLog是一個維護良好的日誌記錄系統,現在NHibernate已經刪除了log4net依賴項,沒有理由不使用它。 – Dann 2011-08-26 08:50:45

+0

作爲一個更新,我最終使用NLog進行了項目。非常棒! – Chip 2011-09-09 20:02:21