我正在寫一個類庫作爲抽象用於登錄我寫的任何應用程序,服務等。我通過使它非常可配置,以適應我遇到的大多數應用程序/服務日誌記錄場景的需求,從而使它體面健壯。將App.config應用到我的DLL程序集?
的配置設計指定的東西,如:
- 什麼日誌記錄級別寫
- 寫入到一個日誌文件,各級
- 寫每 水平單獨的文件
- 日誌截止(週期性,應用程序事件,字節大小受限)
- 日誌文件過期(在文件時效後刪除日誌文件)
- 寫爲純文本或XML
- 日誌文件名格式規範
- 是否與日期
- 父應用程序的名稱
- 等,等,等...
我的文件名前綴已經閱讀了關於DLL程序集配置的一些其他的stackoverflow問題,它導致了主機程序集/ app的app.config之間的衝突。我相信我的程序集只是提供一個配置文件。
這是一個很好的場景嗎?將我自己的配置文件烘焙到我的項目中以便我的記錄器從XML文件中讀取以檢索配置值可能是一個更好的主意嗎?
查看現有的日誌庫,例如apaches log4net http://logging.apache.org/log4net/index.html - 這個也可以很容易地擴展。也許不值得編寫一個全新的日誌庫。 – 2010-07-15 13:26:20
@bja,感謝您的建議。我爲一個正在工作的項目編寫了大量日誌代碼,並決定將大部分代碼用作未來應用程序的基礎。我之前嘗試過使用日誌框架,並且因爲我的部門而感到沮喪。想要使用.Net 4.0,並且在使用它的時候遇到了一些問題。所以我最終實現了我自己的輕量級日誌記錄。然而,非常感謝這個建議,我通常會同意這個想法,但是它沒有理由不重用我自己的代碼。 – jlafay 2010-07-15 13:32:56
@jlafay無論如何我都會建議看看它們 - 不要重複使用它們的代碼 - 但要看看它們是如何通過App.config文件實現配置的 - 通過應用程序配置日誌框架非常常見。配置文件,並且您可以使用自己的框架遵循相同的練習。 :-) – BrainSlugs83 2016-07-19 02:30:13