我应该在哪里记录异常?在数据服务层(ExecuteDataSet等)和/或数据访问层和/或业务层?日志记录位置
Q
日志记录位置
1
A
回答
2
在物理层边界。
也位于客户端的顶级异常处理程序中。
I.e.如果您的业务层在服务器上运行,请在传播到客户端之前记录异常。如果您将业务层作为WCF Web服务公开,那么这很容易,您可以实现一个错误处理程序,它在将SOAP错误传播到客户端之前进行日志记录。
1
如果抛出异常,应在发生异常时将其记录下来,然后将其冒泡。否则,只有最终用户应该记录一个异常(当然可能有很多跟踪,在这种情况下可能会记录相当多)。
最终用户可以是UI组件或服务或东西...
如果你在你的代码处理异常的地方 - 然后是最终用户,你应该有记录它。在大多数应用程序中,并且在大多数情况下,UI应该在向用户显示错误消息时记录它。
1
我通常会允许异常传播并在达到最高级别时记录它们。例如
main {
try {
application code
} catch {
preform logging
}
}
但这只对致命的例外有意义。其他例外我通常将它们记录在处理从所述异常中恢复的块中。
相关问题
- 1. 设置Cassandra日志记录位置
- 2. iPhone连续GPS位置日志记录
- 3. 基于日志记录级别的SpringBoot日志记录配置
- 4. GWT日志记录设置
- 5. JBoss日志记录配置
- 6. 如何从Spring.Net获取日志文件位置/名称通用日志记录
- 7. NHibernate:日志记录
- 8. WebService日志记录
- 9. MongoDB日志记录
- 10. Sugarcrm日志记录
- 11. SynchronizationLockException +日志记录
- 12. Couchdb日志记录
- 13. 日志记录web.ctx
- 14. 日志记录iisreset
- 15. Eazfuscator.NET日志记录?
- 16. BlackBerry日志记录
- 17. JavaScript日志记录库(日志级别)
- 18. django日志记录:未创建日志
- 19. 没有日志库的日志记录
- 20. 弹簧启动和日志记录位置
- 21. Datastax Cassandra 2.2.5:更改日志记录位置(logback)
- 22. Python 3.4日志记录配置
- 23. 使用Lift配置日志记录
- 24. Python日志记录配置文件
- 25. 设置GCS桶中的日志记录
- 26. 休眠4.x日志记录配置
- 27. 设置日志记录级别
- 28. log4net的设置日志记录
- 29. mrjob:在EMR上设置日志记录
- 30. 事件日志记录的log4net配置