从dll记录,检索log.put()之上的调用方法名称

时间:2015-01-07 20:28:24

标签: c# dll

所以我希望登录一个dll,每次调用log.put时都会记录一些自动生成的信息。我似乎无法从dll中获取调用方法名称,无论使用堆栈跟踪...

void main() {
    log.put(Severity.information, "this is a test");
}



//inside dll

  Log.put(Enum s, string msg = ""){
        StackTrace st = new StackTrace(new StackFrame(true)); //get stacktrace
//returns put as expected
        string caller = st.GetFrame(0).GetMethod().ToString(); 
//returns put not expected, I was expecting main
        string caller2 = st.GetFrame(st.FrameCount - 1).GetMethod().ToString(); 
//throws null reference
        string caller3 = st.GetFrame(1).GetMethod().ToString(); 
}

基本上,我真的不想在我的所有catch语句中对每个方法名称和dateTime调用进行硬编码,我想只是调用它并将其记录下来。

这可能吗?

0 个答案:

没有答案