簡體   English   中英

在哪里放置日志記錄代碼

[英]Where to place logging code

我想知道我應該在C#應用程序中放置日志代碼的位置。

假設我要記錄程序參數(例如myapp.exe -arg1)。

在到達簡單的工廠類(該類對參數進行解析(實際上只有一個參數)並基於該參數創建對象)之前,參數會通過main()從入口點類傳遞。

應該由解析參數的工廠(層次結構的底部)負責記錄參數,還是應該將參數記錄在main(層次結構的頂部)中。

我覺得工廠類會是正確的地方,但是我經常對記錄代碼的正確地方在哪里感到懷疑,並且我真的很喜歡我可以重用的一些最佳實踐。

我認為您應該登錄工廠。

如果您稍后遷移代碼以在另一個環境中使用,則main()可能不存在。 所有main()所做的就是傳遞此信息。 因此,如果您創建一個ASP應用程序,並希望保留相同的日志記錄詳細信息,則工廠方法將很有用,因為工廠會根據該參數決定要創建的內容。

作為一個自定義規則,我總是盡力將日志記錄在調用堆棧中,同時我仍然有理由進行日志記錄(以避免記錄經常調用的小方法)。 如果由於日志記錄太少而失去一些語義,則可以始終在上方添加擴展的日志信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM