在下面的代码中,args.Exception.ToString()(或args.Exception.StackTrace)仅返回抛出异常的方法名称和行,但不返回完整的调用堆栈。
public override void OnException(MethodExecutionArgs args)
{
Logger.GetLogger().Write(LogLevel.Error, args.Exception.ToString());
}
但是下面的代码给出了完整的callstack
catch (Exception ex)
{
Console.WriteLine(ex);
}
如何使用MethodExecutionArgs在PostSharp中获取完整的调用堆栈?
答案 0 :(得分:0)
问题不在于PostSharp,而在于我的代码。我在整个程序集上而不是在调用者处应用了[SwallowException]。 另外,Logger.GetLogger()。Write()支持多行。 谢谢Jakub。