C# 如何在发生报错时,获取调用者参数信息?
为了方便错误捕获,我希望在触发报错的时候,能知道调用者、参数信息,将其序列化写入到日志
请问如何做到?
C# 如何在发生报错时,获取调用者参数信息?
为了方便错误捕获,我希望在触发报错的时候,能知道调用者、参数信息,将其序列化写入到日志
请问如何做到?
现在有两种方式:
1.传统的方式:用StackTrace或者StackFrame
StackTrace st = new StackTrace(true);
LogHelper.debug(st.GetFrame(1).GetMethod().Name.ToString());
LogHelper.debug("调试信息", e);
LogHelper.debug("调试信息"+ temp);
LogHelper.debug($"调试信息url:{Baseurl} 参数:"+JsonConvert.SerializeObject(parm));
2.net4.5 以后新增的一系列的特性
public void TraceMessage(string message,
[CallerMemberName] string memberName = "",
[CallerFilePath] string sourceFilePath = "",
[CallerLineNumber] int sourceLineNumber = 0)
{
Trace.WriteLine("message: " + message);
Trace.WriteLine("member name: " + memberName);
Trace.WriteLine("source file path: " + sourceFilePath);
Trace.WriteLine("source line number: " + sourceLineNumber);
}