无法获得Application Insights以显示调试遥测

时间:2019-10-09 15:17:44

标签: c# logging dependency-injection azure-application-insights

我对Application Insights完全陌生,可悲的是,整整一整天我一直无法使它正常工作。我尝试使用以下代码:

this.telemetryClient = new TelemetryClient(TelemetryConfiguration.CreateDefault());
this.telemetryClient.TrackTrace($"Test", Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Warning);

但是,当我转到“应用程序洞察”窗口并显示当前调试会话中的所有遥测时,没有任何日志记录。一位用户说缺少ApplicationInsights.config文件(空的文件可以很好地进行调试),我创建了一个文件,但没有任何改变。

然后,我尝试了我能找到的最简单的控制台应用程序-https://docs.microsoft.com/en-us/azure/azure-monitor/app/console。我没有工具密钥,在我今天阅读的数百个论坛中,如果将其保留为空白,它仍将出现在调试遥测中。 Application,Application Insights还是一无所有。

如何使它正常工作?当我被问到“调试遥测”时,我只想在Visual Studio Application Insights窗口中看到一条跟踪消息。

1 个答案:

答案 0 :(得分:2)

我过去一直在研究这些东西以及它通常的工作方式,该扩展试图找出它是否应该监视调试输出,如果它不能识别项目类型,我们不执行任何操作(避免在不需要时在调试器中执行主要工作)。在这种情况下,控制台应用程序不是受支持的“已知”项目类型。

IIRC,要获取调试输出,我相信您需要做2件事,其中您已经完成1:

1)在该项目的根目录下添加一个ApplicationInsights.config文件

2)将应用程序洞察资源ID添加到csproj:

 <ApplicationInsightsResourceId>/subscriptions/abc</ApplicationInsightsResourceId>

我什至不认为资源ID甚至必须是有效的,但是如果它做得更好,则因为其他事情可能会点亮,例如异常codelens,到门户网站的各种链接等

您只需要做#2吗?

认为,如果执行上述操作并重新启动vs / reload解决方案,则应该看到调试器集成尝试在调试器启动时开始工作。 (过去!)