【发布时间】:2010-09-11 17:58:17
【问题描述】:
我正在寻找一种比我们目前必须处理意外生产错误更好的解决方案,而无需重新发明轮子。
我们的大部分产品是安装在远程站点的 WinForm 和 WPF 应用程序。从 NullReferenceExceptions 到“一般网络错误”,不可避免地会发生意外错误。因此,从程序员错误到环境问题。
目前所有这些未处理的异常都使用 log4net 进行记录,然后通过电子邮件发送回给我们进行分析。然而,我们发现有时这些错误“报告”包含的信息太少,无法识别问题。
在这些报告中,我们需要以下信息:
- 应用程序名称
- 应用版本
- 工作站
- 可能是屏幕截图
- 异常详情
- 操作系统
- 可用内存
- 正在运行的进程
- 等等……
我真的不想通过从头开始开发来重新发明轮子。需要的组件:
- 错误收集(详情如上所述)
- “发件人”错误(如果 DB 或 Internet 不可用,则需要排队)
- 错误数据库
- 分析和报告这些错误。例如。 10 个最常见的错误或超时发生在下午 4:00 到下午 5:00 之间。版本 x 和 y 之间的错误比较如何?
注意: 我们将SmartAssembly 视为一种可能的解决方案,但尽管很接近,但它并不能完全满足我们的需求,我希望了解其他开发人员的做法以及是否存在其他替代方案。
编辑:到目前为止,感谢您的回答。也许我最初的问题并不清楚,问题不在于如何捕获所有未经处理的异常,而是如何处理它们并围绕它们创建报告引擎(分析)。
【问题讨论】:
-
您好,我很想知道 SmartAssembly 不能完全满足您的需求是什么意思?
标签: c# .net error-handling reporting