【发布时间】:2013-12-12 10:02:56
【问题描述】:
在应用程序中写Diagnostics 类是常见的吗? - 哪些不仅仅是转储堆栈跟踪?如果是的话,需要在其中做些什么?
我正在考虑用
写Diagnostics 类
- 各种重载的
diagnose(Class thisInstance, Exception ex)一个对应于我的应用程序中每个更容易发生异常的类。 analyzeEnvironmentVariables()analyzeAppSettings()analyzeServers()-
diagnodeAll():将创建所有类的实例并查看它们是否正确初始化
我会打电话给diagnose()catch():
catch(Exception ex)
{
Diagnostics.diagnose(this,ex);
}
在每个diagnose(),我都在想
- 转储堆栈跟踪
- 转储和分析 thisInstance 的成员
- 致电
analyzeEnvironmentVariables(); - 致电
analyzeAppSettings(); - 致电
analyzeServers(); - 致电
diagnoseAll(); - 看看能不能解决问题
- 尝试重新启动应用三次,如果始终失败则停止
- 最后会回显诊断结果
这是否正常进行?我知道如果该类不能基于对各种参数的分析来实际诊断事物,那么整个类可能会减少到某种扩展的日志记录功能。但是还是想再想一想,想知道平时都是怎么做的。
【问题讨论】: