我正在努力从体验中获得最大利益。
此外,我通常使用企业库日志记录块,我将错误和一部分统计信息记录到数据库中,因为它是集中处理错误的地方,如果数据库记录失败,通常会转到事件日志。
跟踪消息应该进入文件:
您认为我们应该选择哪种选择
1-仅当存在复杂算法或不稳定模块时,某些跟踪消息可以保留在代码中。
OR
2-我们不应该在代码中保留任何跟踪消息,一旦bug得到解决就清理它。
对于数据库。
我认为从SP和函数引发的错误应该记录到数据库中的另一个表中,而这正是AdventureWorksLT2008数据库所做的。
将数据库事件直接记录到Enterprise Library Log表而不将此错误提升到下一层是不是一个坏主意。我认为它更具可修复性,因为我可以在消息中添加更多自定义信息。当然,一些错误将无法处理,并将达到下一层。
任何想法或评论,你做的其他事情。你要澄清的东西。
由于
答案 0 :(得分:0)
如果您的数据库出现性能问题并且SP /函数开始超时怎么办 - 将错误记录到数据库可能不起作用?
答案 1 :(得分:0)
您是在谈论捕获错误并直接在T-SQL中记录,而不是在执行RAISERROR以将其发送给调用者?
我认为对于某些类型的问题,这是一个可行的策略 - 例如,如果SP希望找到问题并默默地纠正它并且只是发出警告。
但它适用的那类问题可能不会非常频繁。
我会想到的事情是不寻常的情况,而不是INSERT,而是进行了意外的更新?或者数据已存在的位置,因此不会生成。或者在跳过现有表等的部署或构建脚本中