Application Insights Visual Studio 集成不适用于控制台应用程序 (WebJob)

Application Insights Visual Studio integration not working for Console application (WebJob)

我有一个控制台应用程序,我们在 Azure 中将其部署为 WebJob。 Application Insights 正在运行,因为遥测数据已正确发送到 Azure。但是 Visual Studio (2019) 中的“Application Insights Search”window 没有在本地获取遥测数据。我需要配置什么,应用程序洞察 window 将显示控制台应用程序的遥测数据?

在该解决方案中,我们将 MVC 网站和 WebJob 放在同一个解决方案中。遥测在本地适用于 MVC 网站项目,但不适用于 webjob 项目。

我已将 Application Insights 与以下代码集成:

builder.ConfigureLogging((context, loggingBuilder) =>
{
  loggingBuilder.AddApplicationInsightsWebJobs(o =>
  {
    o.InstrumentationKey = instrumentationKey;
    o.EnableLiveMetrics = true;
    o.LiveMetricsInitializationDelay = TimeSpan.FromMinutes(1);
    o.SamplingExcludedTypes = "Exception";
  });
});

检测密钥来自 appsettings.json:

  "Company.Logging": {
    "InstrumentationKey": "1242189c-1192-41d9-b877-b26890bd0eef",
    "LoggingServiceUrl": "https://loggingapidev.company.com/api/logs/batch"
  }

我们对网站使用相同的配置,效果很好。

我确实尝试在 appsettings.json 中添加“APPINSIGHTS_INSTRUMENTATIONKEY”键并将其作为环境变量。那没有任何效果。

有谁知道我可以做些什么来完成这项工作?这将使开发人员更直观地使用应用程序洞察力。现在我必须将他们引导到他们可以找到本地遥测数据的门户。

我用控制台项目(webjob v3)测试了它,它工作正常。我可以看到日志显示在 Visual Studio Application Insights Search window.

如果您身边仍然出现此问题,请通过手动将 empty ApplicationInsights.config 文件添加到您的 webjob 项目来尝试一下。

工作流程:

  • 右键单击项目:添加 -> 新项目...
  • 选择:应用程序配置文件,如“JavaScript JSON配置文件”。
  • 姓名:ApplicationInsights.config
  • 删除该文件的内容 -> 然后点击保存。然后对对对 此文件-> select 属性 -> 将“复制到输出目录”设置为 “如果更新则复制”