3 回答

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個贊
我最近受命為即將到來的項目“原型化一些登錄”。我沒有任何日志記錄框架的經(jīng)驗(yàn)。我在Log4Net,NLog和Enterprise Library上研究,瀏覽了教程,制作了玩具應(yīng)用程序,等等。3-4周后回來,將它們放在一起進(jìn)行演示。希望其中一些對您有用。
我對我們的項目的建議是:
使用日志外觀(例如Common.Logging,SimpleLoggingFacade)來避免直接依賴。
如果最終將Enterprise Library用于其他功能,則也將其用于日志記錄。
如果最終使用的東西依賴Log4Net,請使用Log4Net。
如果以上都不是,請使用NLog。我更喜歡。
這是基于以下發(fā)現(xiàn)(觀點(diǎn)?。?/p>
所有這三個框架都有能力并且可以做一些復(fù)雜的事情。我們需要一個高質(zhì)量的解決方案,但坦率地說,不需要超高性能或60種類型的事件接收器。
所有這三個都有非常相似的基本概念。
每個都有自己的絕妙技巧,例如真正的高級路由,動態(tài)日志文件名,文件截斷等。
所有3個文件都以自己的方式很好地記錄在案。
對于像我這樣的完整新手,他們一開始有點(diǎn)尷尬。這里的基礎(chǔ)知識沒有太大的差異。我克服了
幾周后重新訪問時,NLog 顯然是最容易恢復(fù)的。我只需要很少的化妝。使用Log4Net,我不得不重新回顧一些在線示例才能開始。有了EntLib,我放棄了,并從頭開始重新制作了這些教程-我完全迷失了。
我不知道如何讓EntLib做一些事情,例如登錄數(shù)據(jù)庫。這可能很容易,但是超出了我的時間限制。
Log4Net和NLog的代碼占用量很小。EntLib垃圾郵件,但無論如何我都會在其上使用外墻。
我不小心配置了EntLib,它在運(yùn)行時告訴我。Log4Net沒有。我沒有使用NLog意外配置錯誤。
EntLib帶有一個漂亮的app.config編輯器,您100%需要它。NLog具有配置文件架構(gòu),因此您會得到“ intellisense”。Log4Net隨附nada。
顯然,到目前為止,我喜歡NLog。盡管有其他解決方案,但仍不足以使用它。

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個贊
尚未討論的關(guān)鍵考慮因素是支持和更新。
自2006年4月19日發(fā)布1.2.10版以來,Log4Net尚未更新。
相比之下,自2006年以來就一直積極支持NLog,它將很快發(fā)布NLog 2.0,以支持上次更新log4net時不存在的許多平臺,例如:
NET Framework 2.0 SP1及更高版本,3.5和4.0(客戶端和擴(kuò)展配置文件)
Silverlight 2.0、3.0、4.0
.NET Compact Framework 2.0、3.5
Mono 2.x配置文件

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個贊
最近在這兩個框架上都有經(jīng)驗(yàn),我認(rèn)為我可以就每個框架分享自己的觀點(diǎn)。
我被要求評估現(xiàn)有Web應(yīng)用程序的日志記錄框架,在經(jīng)歷各種在線論壇后,我將選擇范圍縮小到NLog(v2.0)和log4net(v1.2.11)。這是我的發(fā)現(xiàn):
使用NLog進(jìn)行設(shè)置/啟動非常簡單。您在他們的網(wǎng)站上瀏覽了“入門指南”,然后就完成了。您有一個不錯的主意,nlog會是什么樣子。配置文件非常直觀,任何人都可以理解配置。例如:如果要設(shè)置內(nèi)部登錄,請在Nlog配置文件的頭節(jié)點(diǎn)中設(shè)置該標(biāo)志,這是您期望的位置。在log4net中,您可以在web.config的appSettings部分中設(shè)置不同的標(biāo)志。
在log4net中,內(nèi)部日志記錄不會輸出令人討厭的時間戳。在Nlog中,您會獲得帶有時間戳的漂亮日志。我發(fā)現(xiàn)它對我的評估非常有用。
log4net中的過濾器-您最好檢查一下我的問題-log4net過濾器-如何編寫AND過濾器以忽略日志消息,如果您找到答案或解決方案,請告訴我。我了解,此問題有解決方法,因?yàn)槟梢跃帉懽约旱淖远x過濾器。但是有些東西在log4net中不容易獲得。
性能-我使用存儲過程將大約3000條日志消息記錄到數(shù)據(jù)庫中。我使用了簡單的for循環(huán)(int i = 0; i <3000; i ++ ...)記錄了3000條相同的消息。對于日志記錄:log4net AdoAppender花費(fèi)的時間幾乎是NLog的兩倍。
Log4net不支持異步附加程序。
選擇NLog作為日志記錄框架對我來說已經(jīng)足夠了。:)
添加回答
舉報