我有有型號,數據訪問,業務和視圖層的MVC項目。我打算使用NLog將例外記錄到文本文件中。我不確定在哪一層我應該記錄錯誤,這是我的第一個問題。我閱讀了一些建議在視圖層中記錄錯誤的博客。我不確定這一點。在這層,我應該怎麼做日誌記錄MVC有許多層
回答
我認爲最好的方法是使用MVC。你應該在一個地方記錄常見的異常,你得到的唯一常見的地方是頂級MVC。
有對於MVC特殊的錯誤處理,你應該利用/覆蓋,以獲得您想要的MVC之外的東西+ Global.asax的一般錯誤處理程序的行爲。這將覆蓋任何層次發生的異常,而不是在其他地方進行復制。
正如你可以使用ELMAH以及意見已經提到。它幾乎可以完成我所描述的內容,但自動地,您只需添加一個Elmah.Mvc
包並將其設置爲登錄到文件。您需要小心不要暴露elmah端點,以便每個人都可以看到您的日誌。
我同意所有這一切。我還想補充一點,你不想亂扔你的代碼,一堆try/catch塊就是各種各樣的圖層,只是爲了捕獲異常來記錄它們。此外,這是不要自己寫這些東西。那裏有足夠的軟件包elmah,企業庫和Exception Manangment Block。專注於用您的代碼創造商業價值。 – Fran
以爲它是一種很明顯,如果你有一個頂層,你並不需要嘗試/捕捉無處不在,但你是對的,曾與人的思維的try/catch {}這麼多的麻煩是一個很酷的想法,並把它放在所有地方。 –
- 1. 我應該怎麼做才能修復playframework 2中的日誌記錄輸出?
- 2. 記錄在多層應用
- 3. 我是否在層層泄漏反模式?我該怎麼辦?
- 4. log4j日誌記錄層級順序
- 5. 模型解析器在MVC中應該有哪一層應該是什麼層
- 6. 在MVC多層編輯記錄
- 7. 圖層有什麼用處?我能做些什麼來添加圖層,爲什麼我應該考慮圖層?
- 8. 我應該怎麼做來分析日誌文件
- 9. 在N層應用程序中自定義日誌記錄
- 10. 我應該怎麼做?
- 11. 我該怎麼做,我應該
- 12. 在MVC框架中應該在哪裏記錄日誌?
- 13. 這是什麼叫,我該怎麼做?
- 14. 我應該使用日誌記錄模塊還是日誌記錄類?
- 15. 我應該單元測試數據訪問層嗎?這是一個很好的做法,怎麼做?
- 16. 我想以gridview的形式顯示這些記錄以及計數總記錄我應該怎麼做..?
- 17. 我該怎麼做?
- 18. 我該怎麼做?
- 19. 這個NoClassDefFoundError應該怎麼做?
- 20. 我該怎麼做這個mod_rewrite?
- 21. 我該怎麼做這個CSS錯誤?
- 22. 我該怎麼做:這需要android.permission.INTERACT_ACROSS_USERS_FULL
- 23. 我應該在我的MVC層和服務層中複製驗證嗎?
- 24. DDD,反腐敗層,怎麼做?
- 25. 應用應該有3層
- 26. MVC多層移動應用
- 27. 什麼層應該是DomainEventHandler?
- 28. 我怎麼能在jQuery中做表級別層次結構?
- 29. ASP.NET MVC視圖或URL應該有多少層次?
- 30. 我應該在C++庫中使用日誌記錄
如果你所希望做的是捕獲並記錄異常,使用ELMAH。 https://www.nuget.org/packages/elmah/ – Fran
我不認爲這有一個單一的可靠答案。所有你會得到的是意見。 – Amy