【问题标题】:Spring.NET Controller-level logging annotationsSpring.NET 控制器级别的日志注解
【发布时间】:2014-05-27 18:36:33
【问题描述】:

我已按照https://stackoverflow.com/a/9115510/1170932 中的说明进行操作,并且“之前”方法调用日志记录工作正常。但是,与其在每个方法中添加 [SetMethodInfoAsMessage] 注释,我宁愿在可能的情况下在控制器/类级别添加它。谁能给我举个例子吗?

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

非常感谢。 皮特

【问题讨论】:

    标签: logging spring-aop spring.net aop


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 2016-05-07
      • 2021-08-21
      • 2017-08-01
      • 2014-11-24
      • 2021-12-06
      相关资源
      最近更新 更多