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

问题描述

我有一个控制台应用程序,我们将其部署为Azure中的WebJob。 Application Insights正在运行,因为遥测已正确发送到Azure。但是Visual Studio(2019)中的“ Application Insights搜索”窗口未在本地进行遥测。我需要配置什么,以便“应用程序洞察”窗口将显示控制台应用程序的遥测?

在该解决方案中,我们在同一解决方案中同时拥有一个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搜索窗口中。

如果您仍然遇到此问题,请尝试将 ApplicationInsights.config文件手动添加到您的webjob项目中来进行尝试。

工作流程:

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...