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

Edu*_*d G 0 c# logging dependency-injection azure-application-insights

我对 Application Insights 完全是个菜鸟,遗憾的是,经过一整天的尝试,我根本无法让它工作。我尝试使用以下代码:

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

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

然后我尝试了我能找到的最简单的控制台应用程序 - https://docs.microsoft.com/en-us/azure/azure-monitor/app/console。我没有检测密钥,从我今天阅读的数百个论坛来看,如果您将其留空,它仍应出现在调试遥测中。唉,Application Insights 中仍然没有任何内容。

我怎样才能让它工作?我只想在查询“调试遥测”时在 Visual Studio Application Insights 窗口中看到一条 Trace 消息。

Joh*_*ner 5

我曾经研究过这些东西以及它通常的工作方式,扩展程序试图弄清楚它是否应该监视调试输出,如果它不能识别项目类型,我们什么都不做(以避​​免在调试器中进行工作当我们不需要时)。在这种情况下,控制台应用程序不是“已知”支持的项目类型。

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

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

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

 <ApplicationInsightsResourceId>/subscriptions/abc</ApplicationInsightsResourceId>
Run Code Online (Sandbox Code Playgroud)

认为资源 ID 甚至不需要是有效的,但如果它做得更好,因为其他事情可能会亮起,例如异常 codelens、门户网站/等的各种链接。

你可能只需要做#2?

认为,如果您执行上述操作并重新启动 vs/重新加载解决方案,您应该会看到调试器集成在调试器启动时尝试执行工作。(它曾经!)