我正在ASP.NET網站中使用MS企業日誌記錄應用程序塊。應該在生產中使用什麼樣的日誌監聽器? (ASP.NET /日誌記錄應用程序塊)
對於生產推出,我將建立一個日誌監聽器在這些位置之一:
- SQL Server數據庫
- Windows事件日誌
- 文本文件
它具有對性能影響最小?
注意 - 此時我無法切換到Log4Net或ELMAH,因此請不要在您的回覆中提示。
我正在ASP.NET網站中使用MS企業日誌記錄應用程序塊。應該在生產中使用什麼樣的日誌監聽器? (ASP.NET /日誌記錄應用程序塊)
對於生產推出,我將建立一個日誌監聽器在這些位置之一:
它具有對性能影響最小?
注意 - 此時我無法切換到Log4Net或ELMAH,因此請不要在您的回覆中提示。
我結束了在督促使用此配置:
嚴重程度較低的任何東西,我們都不記錄。
我們使用事件日誌,並且這似乎不會影響性能。我不能正確地告訴你每個人之間的區別...當它與數據庫,它取決於。數據庫是在同一臺機器上,還是在不同的機器上?在全國各地是否中途?
通常情況下,數據庫速度很快,但網絡延遲會降低進程速度。磁盤IO通常也很快。用於記錄的磁盤IO可以快速增長,如果將所有日誌存儲在同一文件中,則可能不是最佳選擇。
另外,考慮可訪問性,哪一個更容易訪問而無需訪問機器。該數據庫將成爲該類別的候選人...
HTH。
數據庫與Web服務器在同一交換機上。 – frankadelic 2010-09-10 17:11:44
關於磁盤IO - 是不是最終存儲在磁盤上的事件日誌? – frankadelic 2010-09-10 17:12:12
另外 - 如何處理事件日誌的可訪問性?您可以將事件日誌發送到生產環境之外的另一臺機器嗎? – frankadelic 2010-09-10 17:12:56
SQL將爲您提供最大的報表靈活性。如果你有一個健壯的數據庫設置和快速網絡,它可能不會給你的文本文件帶來額外的perfroamcne負擔。
OTOH,如果您不打算做大量的日誌分析,只是在罕見的日誌中查看日誌以找出導致問題的原因,那麼文本文件更容易設置和管理。
事件日誌是可以的,但是如果您打算使用它,請考慮僅將它用於嚴重錯誤,不要將它與一堆不重要的消息混淆起來。將它與SQL或文本文件結合使用,並將重大錯誤記錄到兩個位置。
無論您決定什麼,請在投入生產前測試其性能。
很久以前,但您是如何實現這個開關的,我的意思是如何告訴Logger當使用Log類時要使用哪個Log類數據庫關閉了? – Legends 2015-05-03 22:51:03