在3层桌面应用程序中实现错误日志记录最实用的地方是什么?

时间:2013-06-25 03:39:57

标签: c# logging exception-handling n-tier-architecture 3-tier

我目前正在开发一个小型C#桌面应用程序,使用MongoDB作为我选择的数据库,使用经典的three-tiered architecture(演示,业务逻辑和数据访问)。最近,我遇到了与我的一个朋友一起记录的整个崩溃,我们开始讨论应用程序日志记录应该发生在哪里(对于应用程序消息/代码,轻微错误,致命异常以及其他所有内容)。就个人而言,我认为在表示层中进行异常处理和错误记录是最佳的,但这只是我。

是否存在任何行业标准或类似的任何关于应该在何处进行日志记录的标准?如果没有,我在登录任何一层时会获得哪些优势和缺点?

1 个答案:

答案 0 :(得分:2)

我同意你的看法,如果你有一个传统的3层桌面,那么表示层中的错误处理和登录就是最有意义的。如果您打算将非表示层与其他层(业务和数据访问)连接起来,那么它将成为一场辩论。比如Web服务。拥有日志记录和错误处理层是我在这些场景中最常使用的方法。