我需要将ASP.NET应用程序中的所有方法调用一段时间(例如24小时)跟踪到日志文件中。寻找允许我这样做的工具?我有兴趣得到这样的东西:
2009-10-12T13:00:41 MyClass.MyMethod("arg1.toString()", "arg2.toString()")
... other nested calls inside this method ...
2009-10-12T13:00:42 MyClass.MyMethod() 0.2312 seconds
基本上是一种查看每个方法调用花费的时间和输入内容的方法。
答案 0 :(得分:3)
您可能需要查看ANTS Profiler。它可以为您提供逐行执行时间,并且可以选择执行.NET框架代码以及您自己的代码。
答案 1 :(得分:2)
您应该查看PostSharp,它可以提供这种功能
来自主页上的示例:
public class TraceAttribute : OnMethodBoundaryAspect
{
public override void OnEntry( MethodExecutionEventArgs eventArgs)
{ Trace.TraceInformation("Entering {0}.", eventArgs.Method); }
public override void OnExit( MethodExecutionEventArgs eventArgs)
{ Trace.TraceInformation("Leaving {0}.", eventArgs.Method); }
}
然后将此trace属性应用于要跟踪的方法:
[Trace]
public void MyMethod(int myArg)
{
}
我认为你也可以使用ELMAH(这可能更灵活),但我自己从未使用过它......