【问题标题】:In ASP.NET Core 3.0 MVC Project, How exactly do I log to app insights using ilogger?在 ASP.NET Core 3.0 MVC 项目中,我究竟如何使用 ilogger 记录到应用洞察?
【发布时间】:2019-11-24 17:49:10
【问题描述】:

我正在尝试确定如何使用

准确记录应用洞察
_logger.LogInformation

我没有发现文档 https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core 很有帮助。

例如,假设您使用 Visual Studio(模板)创建了一个 asp.net core 3.0 MVC 项目 默认情况下,控制器已注入 _logger。

让记录器将数据发送到应用洞察需要哪些确切的分步操作?任何帮助表示赞赏。 我只是希望知道我需要在项目中更新哪些文件。

【问题讨论】:

  • @MohsinMehmood,那是 2.1 的吗?我正在寻找 dotnet core 3.0
  • @joey 您使用的是哪个版本的 nuget 包“Microsoft.ApplicationInsights.AspNetCore”?您应该尝试 2.8.0 或更高版本。
  • @ivan,您能否发布一个包含所需确切步骤的答案?包括包参考?
  • @joey,如果您在以下回答后还有其他问题,请告诉我:)。

标签: azure asp.net-core azure-application-insights asp.net-core-3.0


【解决方案1】:

更新:

您可以通过在appsettings.json文件中设置适当的日志级别来控制它->添加ApplicationInsights section,无需任何代码更改(对于.net core 3.0,请使用Microsoft.ApplicationInsights.AspNetCore包2.8.0或更高版本,注意事项是here)。

这是我的 appsettings.json:

{
  "Logging": {
    "ApplicationInsights": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft": "Error"
      }
    },
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Information",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ApplicationInsights": {
    "InstrumentationKey": "xxxxxx"
  }
}

那么LogInformation()方法就可以正常工作了。

【讨论】:

  • loggerFactory.AddApplicationInsights() 已过时。无需任何额外步骤即可捕获 Ilogger 日志,因为它在使用 Visual Studio 添加 ApplicationInsights 时自动启用(或通过添加 services.AddApplicationInsights() 手动添加)。
  • 您能否更新完整的答案以消除任何无关的细节?看起来您已对其进行了更新,但仍有较旧的参考?只是试图找到让日志信息正常工作的最低限度。也许只是为了更新 appsettings.env.json 文件的日志记录设置?
  • 是否可以使用 log.loginformation 只需更新 appsettings.env.json 并进行少量代码更改?听起来这就是您所说的另一种方式,也许也可以添加答案?
  • @joey,我发现只需更改 appsettings.json 即可。这是我的错,我将日志级别添加到错误的地方。我已经更新了帖子删除额外的步骤。
  • @cijothomas,你是对的,我之前尝试过,但是将日志级别添加到错误的位置。我已经更新了我的帖子,谢谢你指出:)
猜你喜欢
  • 1970-01-01
  • 2013-01-09
  • 2014-08-03
  • 2019-02-08
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 2018-12-14
相关资源
最近更新 更多