2009-10-11 78 views
5

(主觀)還有什麼其他的log4net日誌記錄替代方法?

我正在尋找什麼您使用在您的應用程序執行日誌記錄。這log4net的事情讓我頭痛。在那裏有更好的答案,或者是有史以來只是自制解決方案?我知道System.Diagnostics.Trace子系統是否能夠在此層上進行分層?

+0

你爲什麼不與log4net的定義您的要求/痛苦?一旦你習慣了它,這是相當方便的。 – ripper234 2009-10-11 13:52:03

+0

查看Rippo發佈的關於log4net的一些問題的評論。 – 2009-10-11 15:24:10

回答

7

NLog可能是這方面的另一個大玩家。此外,還有一個專門用於追蹤和記錄的企業圖書館中的application bloc

+1

NLog的+1,沒有看到它使用我會看看。 – 2009-10-11 15:21:11

3

爲什麼不使用.NET類進行日誌記錄?

有定製的監聽器可以用於記錄幾乎無所不能,可以使用過濾器,傳播你的日誌到多個目標,數據庫,文件,網絡,等等。

只要注意.NET Framework的能力,你會感到驚訝。

+1

我正在考慮這種方法。最大的挑戰是你最終還是會實現線程安全的所有編寫器,並且封裝客戶端API調用以防止字符串格式化等崩潰應用程序。由於大多數日誌記錄是在catch塊中完成的,因此生成異常是不好的mojo。儘管如此,仍然是一個可行的方法來使用機械師,但它最終仍然是家釀。 – 2009-10-11 15:18:33

2

嘗試Elmah它很容易,你要知道,一旦你讓你的頭進去log4net的是沒有那麼糟糕....

其實你有什麼頭痛?

+2

多實例應用程序的大多數問題。這和整個事情是相當不容忍的。例如,當記錄器失敗時,其他記錄器不被調用。由於與實際軟件的文件鎖定衝突,NUnits會產生錯誤輸出,這實在令人煩惱。這主要是由於我們通過運行Asp.net主機in-proc來測試web服務的方式,而沒有「專門化」web.config。 – 2009-10-11 15:12:05

+0

@ csharptest.net:不太清楚你的意思。 Log4net通過設計進行故障停止;請參閱「Log4net是可靠的日誌記錄系統?」下的http://logging.apache.org/log4net/release/faq.html。如果你依靠日誌記錄工作,log4net不適合你。 – TrueWill 2009-10-11 19:10:54

1

我們使用Enterprise Library只在我們的企業環境(Logging Block)。我最近開始在個人項目上使用Log4Net

從經驗來看,企業圖書館雖然功能強大,但是啓動和運行起來非常痛苦。不僅僅是試圖弄清楚哪個dll會被使用,但是配置會變得很笨重。

在另一面,我發現log4net的是非常容易的,你最多可以在任何時間運行;不到一個小時的時間。

授予我一個MS變形金剛迷(好吧,不是真的,但他們是我謀生的原因),通常用MS去。但是,我建議在工作中遷移到Log4Net。它的簡單性真的很令人耳目一新。

0

看看Common.Logging。它適用於所有主要的日誌框架(system.diagnostics,log4net,nlog,企業庫),並允許您從配置切換日誌框架。

從我個人的經歷 - 我使用.NET跟蹤在企業環境中並沒有允許我們使用開源,經過我們完善的滾動文件的TraceListener,這是很容易使用。現在我使用log4net,這很不錯,但需要一些習慣。

3

有相當多的.NET日誌庫和工具,在那裏,這裏是一個廣泛的名單:

http://www.dotnetlogging.com/

你可能也想看看我們的.NET日誌記錄的產品SmartInspect,它提供豐富的日誌記錄功能(與大多數其他日誌記錄工具的純文本日誌記錄功能形成對比),並附帶日誌查看器和可選的日誌服務器應用程序。

1

我知道這個問題是太舊,您正在尋找替代log4net的,但相信我log4net的是最好的記錄解決方案,是最常用的,並且還提供大範圍的比任何其他日誌框架日誌聽衆。此外,你甚至可以與內置的appender一起實現自定義appender。對於那些在配置log4net時遇到困難的用戶,可以使用以下描述逐步指導的帖子使其工作。

Log4Net section in Web.Config generates Error

幸福日誌:)