如何在C#中自动生成logger调用到源代码中?

San*_*azi 0 c# logging code-generation

我想在方法体中产生什么:

private void SomeMethod()
{
Logger.Log("Entering SomeMethod.");

// do stuff here

Logger.Log("Exiting SomeMethod.")
}
Run Code Online (Sandbox Code Playgroud)

有没有可以为我生成的工具?如果没有,我想自己实现一个,那么我从哪里开始,我应该考虑使用哪个库来识别c#源代码中的方法?简单的正则表达式应该足够了吗?

Nol*_*rin 5

你肯定在这里寻找PostSharp - 面向.NET的面向方面编程(AOP).它允许您添加在任意方法开始之前和结束之后执行的处理程序,这样您实际上只需要在一个位置定义日志记录代码.


Blu*_*ame 5

看看postharp

http://www.postsharp.org/

这是一个面向方面的编程框架.它将允许您使用将运行记录器,安全检查等的属性绘制方法.