我應該在哪裏記錄異常?在數據服務層(ExecuteDataSet等)和/或數據訪問層和/或業務層?日誌記錄位置
Q
日誌記錄位置
1
A
回答
2
在物理層邊界。
也位於客戶端的頂級異常處理程序中。
I.e.如果您的業務層在服務器上運行,請在傳播到客戶端之前記錄異常。如果您將業務層作爲WCF Web服務公開,那麼這很容易,您可以實現一個錯誤處理程序,它在將SOAP錯誤傳播到客戶端之前進行日誌記錄。
1
如果拋出異常,應在發生異常時將其記錄下來,然後將其冒泡。否則,只有最終用戶應該記錄一個異常(當然可能有很多跟蹤,在這種情況下可能會記錄相當多)。
最終用戶可以是UI組件或服務或東西...
如果你在你的代碼處理異常的地方 - 然後是最終用戶,你應該有記錄它。在大多數應用程序中,並且在大多數情況下,UI應該在向用戶顯示錯誤消息時記錄它。
1
我通常會允許異常傳播並在達到最高級別時記錄它們。例如
main {
try {
application code
} catch {
preform logging
}
}
但這隻對致命的例外有意義。其他例外我通常將它們記錄在處理從所述異常中恢復的塊中。
相關問題
- 1. 設置Cassandra日誌記錄位置
- 2. lftp的日誌記錄位置
- 3. iPhone連續GPS位置日誌記錄
- 4. Python日誌記錄 - 檢查日誌文件的位置?
- 5. 基於日誌記錄級別的SpringBoot日誌記錄配置
- 6. omnet ++:配置日誌記錄
- 7. JBoss日誌記錄配置
- 8. GWT日誌記錄設置
- 9. Django - 日誌記錄配置
- 10. Java日誌記錄:它是日誌還是日誌記錄器?
- 11. Scrapy日誌記錄:配置日誌重寫日誌文件
- 12. 日誌位置
- 13. 如何從Spring.Net獲取日誌文件位置/名稱通用日誌記錄
- 14. Couchdb日誌記錄
- 15. SynchronizationLockException +日誌記錄
- 16. NHibernate:日誌記錄
- 17. MongoDB日誌記錄
- 18. Sugarcrm日誌記錄
- 19. Eazfuscator.NET日誌記錄?
- 20. WebService日誌記錄
- 21. Javascript日誌記錄
- 22. opennms日誌記錄
- 23. 無記錄日誌
- 24. Solr日誌記錄
- 25. 日誌記錄iisreset
- 26. 日誌記錄web.ctx
- 27. BlackBerry日誌記錄
- 28. Apache日誌記錄日
- 29. JavaScript日誌記錄庫(日誌級別)
- 30. django日誌記錄:未創建日誌