【问题标题】:How to log method calls on targets marked with an attribute?如何在标有属性的目标上记录方法调用?
【发布时间】:2011-05-07 05:20:10
【问题描述】:

是否可以将 Loggin 行为注入标记的类或/和方法,如下所示:

Log("Method {0} started",GetMethodNameTroughReflection)
Call method body
Log("Method {0} Finished",GetMethodNameTroughReflection)

我想创建自己的Attribute类,它会实现方法调用的日志行为。

我想在 app.config 文件中描述登录行为,但可以通过 config 中的设置禁用它。

怎么做才对?也许已经为这样的任务创建了解决方案?

【问题讨论】:

标签: c#


【解决方案1】:

这可以使用面向方面的编程 (AOP) 来完成。看看 PostSharp。在此处查看示例以进行跟踪:

Non-Invasive Tracing & Logging

【讨论】:

    【解决方案2】:

    搜索“面向方面的编程” - 日志记录是一个典型示例。例如this link 使用 PostSharp 完成它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-15
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多