有没有办法让我添加日志记录,以便进入和退出方法与参数一起自动记录以用于跟踪目的?我该怎么办?
我正在使用Log4Net.
实现这种事情的最好方法是使用拦截,有几种方法可以做到这一点,尽管它们都有点侵入性.一种是从ContextBoundObject派生所有对象. 以下是使用此类方法的示例.另一种方法是使用现有的AOP库之一来实现这一目标.像Castle Project中的 DynamicProxy之类的东西是其中许多的核心.以下是一些链接: Spring.Net PostSharp Cecil
可能还有其他几个,我知道Castle Windsor和Ninject都在IoC功能之上提供AOP功能.
一旦AOP到位,您只需编写一个拦截器类,将有关方法调用的信息写入log4net.
如果其中一个AOP框架能够为您提供开箱即用的功能,我实际上不会感到惊讶.