什么是记录方法调用的最佳方法?

时间:2012-06-13 08:44:40

标签: c# logging aop

我需要记录我的应用程序中的每个方法调用。 我不想在业务层的每个方法中重复代码

我一直在研究AOP方法,它现在似乎是最好的选择,但我不知道如何使用这种方法。

任何建议或链接文章或示例将不胜感激。

1 个答案:

答案 0 :(得分:1)

你可以使用PostSharp这是一个APO基础设施,你可以在该链接上找到一个很好的例子来说明它的使用方法。

如果您还需要任何日志记录基础结构,则可以使用log4net

从上面的链接中,您可以看到您只需使用日志记录基础结构修改的日志属性示例:

[Serializable]
public class LogAspect : OnMethodBoundaryAspect
{
    public override void OnEntry(MethodExecutionArgs args)
    {
        Console.WriteLine(Environment.NewLine);

        Console.WriteLine("Entering [ {0} ] ...", args.Method);

        base.OnEntry(args);
    }

    public override void OnExit(MethodExecutionArgs args)
    {
        Console.WriteLine("Leaving [ {0} ] ...", args.Method);

        base.OnExit(args);
    }
}

在您的代码中使用它:

[LogAspect]
public void SomeMethod()
{
}

将登录SomeMethod来电