ASP.NET Core 记录请求日志

在 ASP.NET Core 应用程序中,记录请求日志可以帮助开发者分析请求情况、调试错误以及监控应用的运行状态。本文介绍如何通过配置 Logging 记录请求日志。

配置 appsettings.json 记录请求日志

appsettings.json 文件的 Logging 配置中,添加或修改以下内容:

"Logging": {
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information",
    // 下面两行用于记录请求日志
    "Microsoft.AspNetCore.Hosting.Diagnostics": "Information",
    "Microsoft.AspNetCore.Server.Kestrel": "Information"
  }
}

如果你的 appsettings.json 文件中已经有 Logging 配置,只需添加以下两行:

"Microsoft.AspNetCore.Hosting.Diagnostics": "Information",
"Microsoft.AspNetCore.Server.Kestrel": "Information"

说明

Microsoft.AspNetCore.Server.Kestrel:记录 Kestrel 服务器的详细请求信息,例如请求地址、请求头、响应状态等。

Microsoft.AspNetCore.Hosting.Diagnostics:记录 ASP.NET Core 请求处理的相关日志,包括中间件执行等。

运行应用并查看日志

如果你的应用使用 控制台日志文件日志,可以在终端或日志文件中查看请求日志。例如,运行应用后,在控制台中可能会看到类似的日志输出:

info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:5000/  
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 25ms 200 application/json  

如果你希望将日志输出到文件,可以在 appsettings.json 中进一步配置日志提供程序,例如使用 SerilogNLog 进行日志存储和分析。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注