将ASP.NET Core诊断响应时间提取到一个日志记录数据库中

问题描述 投票:0回答:1

我正在使用ASP.NET Core 3.1为C#WebApi使用默认的Visual Studio项目模板。启动应用程序时,我看到控制台上记录了以下信息

info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'webapi.Controllers.WeatherForecastController.Get (webapi)'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.8083ms 200 application/json; charset=utf-8

正如您所看到的,Microsoft.AspNetCore.Hosting.Diagnostics已经在记录response timehttp status code,但是log message的所有部分都使得将这些作为特定的可搜索属性记录到我们的弹性搜索数据库中非常困难。

是否有任何方法可以从现有的诊断中间件中提取这些信息(响应时间和状态代码),而不必自己编写?

c# asp.net-core logging
1个回答
0
投票

是,有,看看https://docs.microsoft.com/en-us/dotnet/core/diagnostics/logging-tracing事件源之一应该具有您所需要的。信息有些分散,但可行。

© www.soinside.com 2019 - 2024. All rights reserved.