我目前正在使用内置的TraceListener开发应用程序日志记录库。这个库将被用于很多项目中,应该提供一个简单的接口,我只需要关心写入日志文件的内容是什么,而不是如何写。
通过使用反射命名空间,我可以找出调用日志函数的应用程序(检索执行程序集名称),但我也想知道调用日志函数的函数和类的名称。
假设我有:
public static void LogInfo(string vLogText) {
Trace.WriteLine(
MethodInfo.GetCurrentMethod().Name
+ this.GetType().ToString() + vLogText);
}
当我从另一个项目调用(类:TestClass,方法:TestMethod)时
Tracer.LogInfo("log this!")
我希望在记录中看到:
TestClass, TestMethod, log this!
但是我得到的是
TracerClass, LogInfo, log this!
如何获取父方法和类名?