我应该在哪里记录异常?在数据服务层(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日志记录:未创建日志