日志记录位置
答
在物理层边界。
也位于客户端的*异常处理程序中。
I.e.如果您的业务层在服务器上运行,请在传播到客户端之前记录异常。如果您将业务层作为WCF Web服务公开,那么这很容易,您可以实现一个错误处理程序,它在将SOAP错误传播到客户端之前进行日志记录。
答
如果抛出异常,应在发生异常时将其记录下来,然后将其冒泡。否则,只有最终用户应该记录一个异常(当然可能有很多跟踪,在这种情况下可能会记录相当多)。
最终用户可以是UI组件或服务或东西...
如果你在你的代码处理异常的地方 - 然后是最终用户,你应该有记录它。在大多数应用程序中,并且在大多数情况下,UI应该在向用户显示错误消息时记录它。
答
我通常会允许异常传播并在达到*别时记录它们。例如
main {
try {
application code
} catch {
preform logging
}
}
但这只对致命的例外有意义。其他例外我通常将它们记录在处理从所述异常中恢复的块中。