亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

log4net與Nlog

log4net與Nlog

任何人都有經驗嗎?他們如何相互對抗?我們正計劃使用其中之一來登錄企業應用程序。參考文獻:log4net的n日志編輯:我們沒有現有的依賴關系到nlog或log4net。
查看完整描述

3 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

我最近受命為即將到來的項目“原型化一些登錄”。我沒有任何日志記錄框架的經驗。我在Log4Net,NLog和Enterprise Library上研究,瀏覽了教程,制作了玩具應用程序,等等。3-4周后回來,將它們放在一起進行演示。希望其中一些對您有用。

我對我們的項目的建議是:

  1. 使用日志外觀(例如Common.Logging,SimpleLoggingFacade)來避免直接依賴。

  2. 如果最終將Enterprise Library用于其他功能,則也將其用于日志記錄。

  3. 如果最終使用的東西依賴Log4Net,請使用Log4Net。

  4. 如果以上都不是,請使用NLog。我更喜歡。

這是基于以下發現(觀點!):

  • 所有這三個框架都有能力并且可以做一些復雜的事情。我們需要一個高質量的解決方案,但坦率地說,不需要超高性能或60種類型的事件接收器。

  • 所有這三個都有非常相似的基本概念。

  • 每個都有自己的絕妙技巧,例如真正的高級路由,動態日志文件名,文件截斷等。

  • 所有3個文件都以自己的方式很好地記錄在案。

  • 對于像我這樣的完整新手,他們一開始有點尷尬。這里的基礎知識沒有太大的差異。我克服了

  • 幾周后重新訪問時,NLog 顯然是最容易恢復的。我只需要很少的化妝。使用Log4Net,我不得不重新回顧一些在線示例才能開始。有了EntLib,我放棄了,并從頭開始重新制作了這些教程-我完全迷失了。

  • 我不知道如何讓EntLib做一些事情,例如登錄數據庫。這可能很容易,但是超出了我的時間限制。

  • Log4Net和NLog的代碼占用量很小。EntLib垃圾郵件,但無論如何我都會在其上使用外墻。

  • 我不小心配置了EntLib,它在運行時告訴我。Log4Net沒有。我沒有使用NLog意外配置錯誤。

  • EntLib帶有一個漂亮的app.config編輯器,您100%需要它。NLog具有配置文件架構,因此您會得到“ intellisense”。Log4Net隨附nada。

顯然,到目前為止,我喜歡NLog。盡管有其他解決方案,但仍不足以使用它。


查看完整回答
反對 回復 2019-09-27
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

尚未討論的關鍵考慮因素是支持和更新。


自2006年4月19日發布1.2.10版以來,Log4Net尚未更新。


相比之下,自2006年以來就一直積極支持NLog,它將很快發布NLog 2.0,以支持上次更新log4net時不存在的許多平臺,例如:


NET Framework 2.0 SP1及更高版本,3.5和4.0(客戶端和擴展配置文件)

Silverlight 2.0、3.0、4.0

.NET Compact Framework 2.0、3.5

Mono 2.x配置文件


查看完整回答
反對 回復 2019-09-27
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

最近在這兩個框架上都有經驗,我認為我可以就每個框架分享自己的觀點。

我被要求評估現有Web應用程序的日志記錄框架,在經歷各種在線論壇后,我將選擇范圍縮小到NLog(v2.0)和log4net(v1.2.11)。這是我的發現:

  1. 使用NLog進行設置/啟動非常簡單。您在他們的網站上瀏覽了“入門指南”,然后就完成了。您有一個不錯的主意,nlog會是什么樣子。配置文件非常直觀,任何人都可以理解配置。例如:如果要設置內部登錄,請在Nlog配置文件的頭節點中設置該標志,這是您期望的位置。在log4net中,您可以在web.config的appSettings部分中設置不同的標志。

  2. 在log4net中,內部日志記錄不會輸出令人討厭的時間戳。在Nlog中,您會獲得帶有時間戳的漂亮日志。我發現它對我的評估非常有用。

  3. log4net中的過濾器-您最好檢查一下我的問題-log4net過濾器-如何編寫AND過濾器以忽略日志消息,如果您找到答案或解決方案,請告訴我。我了解,此問題有解決方法,因為您可以編寫自己的自定義過濾器。但是有些東西在log4net中不容易獲得。

  4. 性能-我使用存儲過程將大約3000條日志消息記錄到數據庫中。我使用了簡單的for循環(int i = 0; i <3000; i ++ ...)記錄了3000條相同的消息。對于日志記錄:log4net AdoAppender花費的時間幾乎是NLog的兩倍。

  5. Log4net不支持異步附加程序。

選擇NLog作為日志記錄框架對我來說已經足夠了。:)


查看完整回答
反對 回復 2019-09-27
  • 3 回答
  • 0 關注
  • 1470 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號