C# 确定ASP.NET WEB API中每个API的执行时间和跟踪,并使用C使用log4net记录到文件#

C# 确定ASP.NET WEB API中每个API的执行时间和跟踪,并使用C使用log4net记录到文件#,c#,asp.net-web-api2,C#,Asp.net Web Api2,目前,我正在使用log4net捕获每个API的执行时间,并在每个API的开始和结束时明确提到开始时间和结束时间,并将其写入日志文件,如下所示 [HttpGet] Public IHttpActionResult GetProducts() { Log.info("API Execution Started at " + DateTime.Now()); Var Products = UnitOfWork.GenericRepo.GetProducts(); Log.I

目前,我正在使用log4net捕获每个API的执行时间,并在每个API的开始和结束时明确提到开始时间和结束时间,并将其写入日志文件,如下所示

[HttpGet]
Public IHttpActionResult GetProducts()
{
    Log.info("API Execution Started at " + DateTime.Now());

    Var Products = UnitOfWork.GenericRepo.GetProducts();

    Log.Info("API Execution Completed at "+ DateTime.Now());

    Return Ok(Products);
}
是否有更好的方法捕获每个API的执行时间并将其写入日志文件? 另外,请让我了解如何捕获所有API的跟踪信息并将其写入不同的日志文件。例如,每个API的执行时间应写入“ExecutionLog.txt”,跟踪信息操作应写入“TracingLog.txt”。我还应该能够在运行时启用或禁用此功能


提前感谢使用
系统中的
秒表

看看这个例子


使用
系统诊断中的
秒表

看看这个例子


在,
System.Diagnostics
名称空间中,有一个名为
秒表的类。您可以使用它来检查函数执行时间。使用
Start()
Stop()
方法查找总执行时间

下面是一个来自dotnet pearl网站的简单示例

Stopwatch stopwatch = new Stopwatch();

// Begin timing.
stopwatch.Start();

// Do something.
for (int i = 0; i < 1000; i++)
{
    Thread.Sleep(1);
}

// Stop timing.
stopwatch.Stop();

// Write result.
Console.WriteLine("Time elapsed: {0}", stopwatch.Elapsed);
秒表秒表=新秒表();
//开始计时。
秒表。开始();
//做点什么。
对于(int i=0;i<1000;i++)
{
睡眠(1);
}
//停止计时。
秒表;
//写结果。
WriteLine(“经过的时间:{0}”,stopwatch.appeased);

在,
System.Diagnostics
名称空间中,有一个名为
秒表的类。您可以使用它来检查函数执行时间。使用
Start()
Stop()
方法查找总执行时间

下面是一个来自dotnet pearl网站的简单示例

Stopwatch stopwatch = new Stopwatch();

// Begin timing.
stopwatch.Start();

// Do something.
for (int i = 0; i < 1000; i++)
{
    Thread.Sleep(1);
}

// Stop timing.
stopwatch.Stop();

// Write result.
Console.WriteLine("Time elapsed: {0}", stopwatch.Elapsed);
秒表秒表=新秒表();
//开始计时。
秒表。开始();
//做点什么。
对于(int i=0;i<1000;i++)
{
睡眠(1);
}
//停止计时。
秒表;
//写结果。
WriteLine(“经过的时间:{0}”,stopwatch.appeased);

@Mahesh,您不需要在每个API中编写它。您可以使用ActionFIlter和ResultFilter并编写单个代码块来跟踪API中的所有操作

看看这个
@Mahesh,您不需要在每个API中编写它。您可以使用ActionFIlter和ResultFilter并编写单个代码块来跟踪API中的所有操作

看看这个

可能重复编辑此内容以详细反映问题,其他帖子不提供实现此目的的更多信息。可能重复编辑此内容以详细反映问题,其他帖子不提供实现此目的的更多信息。