[英]Which .Net classes will be the best to use for creating a logger for .Net Application
我必須為.net應用程序創建一個記錄器(我不能使用第三方框架)。記錄器的要求是:
記錄器應該可以從.config文件進行配置,而無需停止應用程序。 它應具有不同的日志記錄級別。
日志目的地應該是控制台和文本文件(可配置)
如果達到最大文件大小限制,記錄器應該能夠創建另一個日志文件,如果磁盤空間不足則應該停止記錄。
記錄器應該在正常和節流模式下工作。 當由於某種原因(例如服務器未啟動)出現連續錯誤時,它應該停止記錄。
請指導哪些.net類最適合用於創建記錄器?
要回答您的問題,可以使用System.Diagnostics.Trace
類在應用程序中輸出消息。 您可以使用可以輸出到控制台,文件或其他數據源的TraceListeners
對其進行配置。
但是,我強烈建議與您的客戶交談,並向他解釋存在經過充分測試,免費和開源的解決方案(例如log4net和NLog等庫),並重新發明輪子可能不符合他的最佳利益。
查看System.Diagnostics命名空間,特別是那里的Trace類:
http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx
以下命名空間將幫助您:System.Diagnostics和System.Reflection
以下是一些可以用作開頭的實現:
http://www.codeproject.com/Articles/21338/AC-Central-Logging-Mechanism-using-the-Observer-a
http://www.codeproject.com/Articles/3953/Logger-in-C-An-easy-way-for-monitoring-NET-applica
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.