Spring.NET控制器级日志记录注释

时间:2014-05-25 12:37:28

标签: logging spring-aop spring.net aop

我已按照https://stackoverflow.com/a/9115510/1170932中的说明操作,并且“之前”的方法调用记录工作正常。但是,不是在每个方法中添加[SetMethodInfoAsMessage]注释,我宁愿在控制器/类级别添加它,如果可能的话。任何人都能指出我的一个例子吗?

另外,我意识到所有控制器的方法都必须是虚拟的,但我认为每个方法1个更改(添加虚拟)优于2个(添加[SetMethodInfoAsMessage]和虚拟)。

非常感谢。 皮特

1 个答案:

答案 0 :(得分:1)

您可以指定其他类型的切入点,而不是使用属性切入点。例如regular expression pointcut

您还可以定义自己的切入点,例如使用asp.net基础结构确定当前方法调用是否为操作方法的切入点。

让您的方法变得虚拟是容易被遗忘的事情。如果截获所有方法对您来说非常重要,我建议您编写一个单元测试,使用反射迭代所有控制器方法并检查虚拟访问修饰符(使用MethodInfo.IsVirtual)。