我正在使用Azure Worker Role中的Trace类。
我想以一种打印有关异常所有信息的方式记录异常,通常包括:
- 异常消息
- 异常堆栈跟踪
- 递归打印内部异常
我只看到了一个Trace.TraceError方法,它会获取一个字符串和参数。难道没有类似Java日志框架获取异常并知道如何记录它的东西吗?(是的,我正在MS世界中迈出第一步...)
我正在使用Azure Worker Role中的Trace类。
我想以一种打印有关异常所有信息的方式记录异常,通常包括:
我只看到了一个Trace.TraceError方法,它会获取一个字符串和参数。难道没有类似Java日志框架获取异常并知道如何记录它的东西吗?(是的,我正在MS世界中迈出第一步...)
someException.Trace();
Exception类的ToString方法可能已经返回了您想要的所有内容,只需跟踪它即可。您可以在同一方法中添加其他信息(如果堆栈跟踪不足,则递归内部异常),例如进程ID、用户ID、线程ID等。
public static class ExceptionExtensions
{
public static void Trace(this Exception _this)
{
Trace.TraceError("{0:HH:mm:ss.fff} Exception {1}", DateTime.Now, _this);
}
}